我收到了这个bug, 我编写了如下代码
代码:
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时我收到此错误。如果有可能给我答案。
答案 0 :(得分:7)
如何在除以零之前简单地使用if
进行检查?
if(tnure != 0)
txtDdctAmnt.Text = (Amnt / tnure).ToString("0.00");
else
txtDdctAmnt.Text = "Invalid value";
答案 1 :(得分: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*/
}
答案 2 :(得分:1)
当tnre为0时,Amnt /tnure
除以0.你需要在除法前检查tnre是否为0,如果它等于0则不要除以tnre。
答案 3 :(得分:0)
将您的代码放在try / Catch Statement中,就像这样
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");
}