我划分双打值时为什么会出错?

时间:2015-11-22 12:38:42

标签: c#

我正在使用Windows窗体。我有一个按钮和3个文本框,我试图划分双数。

为什么当我在textbox1中输入0而在textbox2中输入0时,为什么当单击按钮时,结果= NaN(非数字)值(应该为0)? 。当我输入不同的数字时效果很好但是当我在texstbox1中输入0而在textbox2中输入0时,结果= NaN。

当我将0除以0时,我只想在textbox3中显示0或0.00值作为除法过程的结果。

private void button1_Click(object sender, EventArgs e)
{
    double a, b, result;

    a = Convert.ToDouble( textBox1.Text );
    b= Convert.ToDouble(textBox2.Text);

    result = a / b;     // I tried: result = (a / b) but the results still NaN;

    textBox3.Text = result.ToString();  // I tried: textBox3.Text = result.ToString("0:00") but the results still NaN;
}

2 个答案:

答案 0 :(得分:2)

不允许除零,这只是数学。为避免异常,您有两种选择。

在执行除法之前测试第二个值以查看它是否为零:

outputFile << "</body>" << endl;  //this line is error
        outputFile << "</html>" << endl;
        outputFile.close();

或者捕获将被抛出的异常:

result = (b != 0) ? (a / b) : 0;

答案 1 :(得分:2)

未定义零除零。这是一个基本的数学属性。

在您可能遇到表达式&#34; x / 0&#34;的所有编程情况下,如果分母为零,则需要在尝试除法之前进行检查。

一种解决方案是使用以下代码来捕获错误并显示错误消息:

Zoo