我遇到了这个错误,我在下面写了这样的代码
代码:
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 中时,我收到此错误。如果可能的话给我答案。
if
在除以零之前简单地使用 an检查怎么样?
if(tnure != 0)
txtDdctAmnt.Text = (Amnt / tnure).ToString("0.00");
else
txtDdctAmnt.Text = "Invalid value";
检查是否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*/
}
当tnre为0时,Amnt /tnure
是被0除。除之前需要检查tnre是否为0,等于0就不要除以tnre。
像这样将您的代码放在 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");
}