C# 如何允许除以零?
我正在尝试制作一个小C#应用程序来计算你完成了多少学业C# 如何允许除以零?,c#,C#,我正在尝试制作一个小C#应用程序来计算你完成了多少学业 calc1 = totalIp / totalPidl; percentageBox.Text = percbox; percbox = calc1.ToString(); 错误发生在calc1=totalip/totalPidl; 没有打字错误或其他任何问题。 我怎么能允许除以零 谢谢。允许零除不是个好主意。你想要什么价值?这有意义吗?最好这样做: calc1 = totalPidl != 0
calc1 = totalIp / totalPidl;
percentageBox.Text = percbox;
percbox = calc1.ToString();
错误发生在calc1=totalip/totalPidl;
没有打字错误或其他任何问题。
我怎么能允许除以零
谢谢。允许零除不是个好主意。你想要什么价值?这有意义吗?最好这样做:
calc1 = totalPidl != 0 ? totalIp / totalPidl : 0; // I assume you want the result to be 0
你为什么要允许除法为零?给出一个具有指定输出的try-catch块,如果将发生零除,则显示“未完成任何工作”。
除以零不会给出有效的数学结果。为避免出现异常,可以使用三元运算符,当totalPidl为0时,该运算符将返回0:
据我所知,如果您有
0
分母,您希望得到0
结果。因此,您可以使用三元if
运算符:
calc1 = totalPidl == 0 ? 0: totalIp / totalPidl;
这在数学上是不可能的 防止按代码除零:
if(totalPidl == 0.0)
{
percentageBox.Text = "???";
}
else
{
calc1 = totalIp / totalPidl;
percentageBox.Text = calc1.ToString();
}
您无法避免被零除异常。您可以通过捕获异常来忽略它,或者在执行计算之前先设置条件并检查0
calc1 = 0;
try
{
calc1 = totalIp / totalPidl;
}
finally
{
percentageBox.Text = percbox;
percbox = calc1.ToString();
}
或
除以零时,您希望得到什么结果?您希望得到什么结果?在进行除法之前,您需要检查
totalPidl
是否为零-如果为零,则在文本框中输入一条特殊消息(例如“溢出”),而不是计算结果。我建议不要根据这里的其他一些答案将显示的结果更改为零……永远不会有正确的“除以零”,请尝试totalIp/(totalPidl==0?1:totalPidl)
或其他建议,基于您是希望整个事件为0还是仅提名人。要使此过程更简单:
calc1 = 0;
try
{
calc1 = totalIp / totalPidl;
}
finally
{
percentageBox.Text = percbox;
percbox = calc1.ToString();
}
if(totalIp != 0)
{
calc1 = totalIp / totalPidl;
}
percentageBox.Text = percbox;
percbox = calc1.ToString();