我正在使用C#Windows Application 2010 Express。
在这里,我有3个文本框,表示总费用,已付金额,应付款额。总费用应从数据库获得,支付的金额应由用户输入,应付款额应由系统计算。这是我的情况。我完成了第一部分,这意味着我填写了总费用列。
但是第二和第三部分给了我一个异常,叫做“ formatException未处理。输入字符串的格式不正确。”实际上,我在擦除输入的付款金额时遇到此错误。这意味着在实际使用中,如果用户输入了错误的值,我将无法删除该值。所以请仔细检查我的代码并进行更正。
这是我的代码:
private void textBox4_TextChanged(object sender, EventArgs e)
{
textBox5.Text = "";
int due = 0;
due = Convert.ToInt32(textBox3.Text) - Convert.ToInt32(textBox4.Text);
if (textBox5.Text == null)
{
textBox5.Text = Convert.ToString(0);
}
else
{
textBox5.Text = Convert.ToString(due);
}
}
最佳答案
我建议使用SimpleType.TryParse
decimal amount,fees,due;
decimal.TryParse(textBox3.Text,out amount);
decimal.TryParse(textBox4.Text,out fees);
due = amount - fees;
textBox5.Text= due.ToString("N");
如果字符串转换成功,方法
SimpleType.TryParse
返回true
;否则,返回false
。否则返回。例如,
if(decimal.TryParse(textBox3.Text,out amount))
//Valid
else
//Invalid input
关于c# - formatException未处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12756879/