このバグが発生しています。以下のようなコードを書きました
コード:
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";
0でないかどうかを確認tnure
します。ゼロ除算例外が発生します。詳細については、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 の場合は 0Amnt /tnure
による除算です。除算する前に 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");
}