3

我遇到了这个错误,我在下面写了这样的代码

代码:

decimal Amnt;
decimal.TryParse(txtAmnt.Text, out Amnt);
int tnure=1;
int.TryParse(txtTnre.Text, out tnure);
txtDdctAmnt.Text = (Amnt /tnure).ToString("0.00");

当在文本框值 0 中时,我收到此错误。如果可能的话给我答案。

4

4 回答 4

9

if在除以零之前简单地使用 an检查怎么样?

if(tnure != 0)
    txtDdctAmnt.Text = (Amnt / tnure).ToString("0.00");
else
    txtDdctAmnt.Text = "Invalid value";
于 2013-03-13T05:27:48.050 回答
3

检查是否tnure不是 0,你得到除以零异常,更多帮助在http://msdn.microsoft.com/en-us/library/ms173160.aspx

decimal Amnt;
        decimal.TryParse(txtAmnt.Text, out Amnt);
        int tnure=1;
        int.TryParse(txtTnre.Text, out tnure);
if(tnure!=0)
{
        txtDdctAmnt.Text = (Amnt /tnure).ToString("0.00");
}
else
{
/*handle condition*/
}
于 2013-03-13T05:27:38.687 回答
1

当tnre为0时,Amnt /tnure是被0除。除之前需要检查tnre是否为0,等于0就不要除以tnre。

于 2013-03-13T05:29:47.927 回答
0

像这样将您的代码放在 try/Catch 语句中

    try
    {
    decimal Amnt;
    decimal.TryParse(txtAmnt.Text, out Amnt);
    int tnure=1;
    int.TryParse(txtTnre.Text, out tnure);
    txtDdctAmnt.Text = (Amnt /tnure).ToString("0.00");
    }
    catch(Exception ex)
    {
        // handle exception here
        Response.Write("Could not divide any number by 0");
    }
于 2013-03-13T05:29:09.533 回答