C# 为什么我在除以双倍值时出错?
我正在使用windows窗体。我有一个按钮和3个文本框,我正在尝试分割两个数字 为什么我在textbox1中输入0,在textbox2中输入0,然后单击按钮时,结果=NaN(不是数字)值(应该是0)。当我输入不同的数字时,效果很好,但当我在texstbox1中输入0,在textbox2中输入0时,结果=NaN 当我将0除以0时,我只想在textbox3中显示0或0.00值作为除法过程的结果C# 为什么我在除以双倍值时出错?,c#,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
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;
}
被零除是不允许的,那只是数学。为了避免出现异常,您有两种选择 在执行除法之前,测试第二个值是否为零:
result = (b != 0) ? (a / b) : 0;
或捕获将引发的异常:
try
{
result = a / b;
}
catch (DivideByZeroException)
{
result = 0;
}
被零除是不允许的,那只是数学。为了避免出现异常,您有两种选择 在执行除法之前,测试第二个值是否为零:
result = (b != 0) ? (a / b) : 0;
或捕获将引发的异常:
try
{
result = a / b;
}
catch (DivideByZeroException)
{
result = 0;
}
未定义零除以零的值。这是一个基本的数学性质 在所有可能遇到表达式“x/0”的编程情况下,在尝试除法之前,需要检查分母是否为零 一种解决方案是使用以下代码捕获错误并显示错误消息:
if (b == 0)
textBox3.Text = "Error, cannot divide by zero";
else {
result = a / b;
textBox3.Text = result.ToString();
}
未定义零除以零的值。这是一个基本的数学性质 在所有可能遇到表达式“x/0”的编程情况下,在尝试除法之前,需要检查分母是否为零 一种解决方案是使用以下代码捕获错误并显示错误消息:
if (b == 0)
textBox3.Text = "Error, cannot divide by zero";
else {
result = a / b;
textBox3.Text = result.ToString();
}
0/0是一个不确定的格式0/0是一个不确定的格式除以0将是
double。正不确定度
或负不确定度
取决于股息;)被零除将是双精度。正精度
或负精度
取决于股息;)