使用TryParse函数相加两个值

3
我有一个计算开放区域面积的程序。我想知道如何使用TryParse方法将两个计算出的值添加到名为btnCalculate的单个文本框中。单选按钮被点击时,会启用两个文本框E1,以便用户输入值。这两个文本框绑定在一个组合框中。我想知道如何在单击按钮时添加这两个面积,一个在grpbox之外,另一个在grpbox内,使用TryParse方法是否可行。谢谢提前。例如:
    private void btnCalculate_Click(object sender, EventArgs e)
    {
            double width, length;
            bool status1 = double.TryParse(this.txbxWidth.Text, out width);
            bool status2 = double.TryParse(this.txbxLength.Text, out length);
            txbxArea.Text = string.Format("{0:f}", width * length);

        if (rdb1.Checked)
        {
            double e1width, e1length;
            bool status1 = double.TryParse(this.txbxE1width.Text, out e1width);
            bool status2 = double.TryParse(this.txbxE1length.Text, out e1length);
            txbxArea.Text = string.Format("{0:f}", e1width * e1length);

}

enter image description here

1个回答

2

TryParse与加法等操作无关,它只是用于解析值。

您可以按以下方式添加两个区域:

最初的回答:TryParse与加法或其他操作无关,它仅用于解析值。

您可以像以下示例一样添加两个数字:

 private void btnCalculate_Click(object sender, EventArgs e)
 {
        double width, length;
        bool status1 = double.TryParse(this.txbxWidth.Text, out width);
        bool status2 = double.TryParse(this.txbxLength.Text, out length);
        txbxArea.Text = string.Format("{0:f}", width * length);

        if (rdb1.Checked)
        {
            double e1width, e1length;
            bool status1 = double.TryParse(this.txbxE1width.Text, out e1width);
            bool status2 = double.TryParse(this.txbxE1length.Text, out e1length);
            txbxArea.Text = string.Format("{0:f}", (width * length) + (e1width * e1length));
        }
}

谢谢,抱歉问一下,如果用户只输入rdb1和rb2并点击计算面积,它不会显示正确的加法结果。我有没有办法改变我的代码? - Ralph
1
这取决于您的应用程序逻辑。首先,您可以检查哪些单选按钮已被选中?其次,您可以检查用户是否在文本框中设置了值或将它们留空?根据这些检查,您可以提示用户进行验证错误。 - Kashif Abdul Aleem
所有的单选按钮都可以正常工作,无论是否被选中,只是计算似乎不太正确...如果我选择例如单选按钮2,输入值并获取面积,txbxarea应该显示e1 + e2和主要区域的面积。它就像我上面添加的图片一样。 - Ralph
首先,您需要检查用户是否将主要区域文本框(长度和宽度)留空。您可以通过检查status1和status2来实现此操作。如果其中任何一个为0,则可以提示用户输入正确的值: - Kashif Abdul Aleem
您可以根据用户选择的单选按钮,对e1和e2区域应用相同的验证。 - Kashif Abdul Aleem

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接