formatException未处理

formatException未处理

我正在使用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/

10-09 21:37