[英]System.FormatException: Input string was not in a correct format. c#
[英]System.FormatException: 'Input string was not in a correct format.' WinForms
我收到此错误:此异常最初是在此调用堆栈中引发的:有人可以帮助我吗? 我尝试用Double.Parse
替换Convert.ToDouble
我已经定义了price_salad
和其他的,但我无法让它工作? 这是在 c#
[External Code]
menu1.frm_item.button4_Click(object, System.EventArgs) in items.cs
[External Code]
menu1.Program.Main() in Program.cs .
谁能帮我? 我尝试用Double.Parse
替换Convert.ToDouble
我已经定义了price_salad
和其他的,但我无法让它工作? 这是在 c#
private void button4_Click(object sender, EventArgs e)
{
double[] itemcost = new double[13];`
itemcost[0] = Convert.ToDouble(textBox5.Text) * price_salad1;
itemcost[1] = Convert.ToDouble(textBox6.Text) * price_salad2;
itemcost[2] = Convert.ToDouble(textBox7.Text) * price_salad3;
itemcost[3] = Convert.ToDouble(textBox8.Text) * price_pizza1;
itemcost[4] = Convert.ToDouble(textBox10.Text) * price_pizza2;
itemcost[5] = Convert.ToDouble(textBox9.Text) * price_pizza3;
itemcost[6] = Convert.ToDouble(textBox11.Text) * price_dessert1;
itemcost[7] = Convert.ToDouble(textBox13.Text) * price_dessert2;
itemcost[8] = Convert.ToDouble(textBox12.Text) * price_dessert3;
itemcost[9] = Convert.ToDouble(textBox14.Text) * price_drinks1;
itemcost[10] = Convert.ToDouble(textBox16.Text) * price_drinks2;
itemcost[11] = Convert.ToDouble(textBox15.Text) * price_drinks3;
}
我猜格式异常是由包含无效或空值的文本框引起的。 要解决此问题,您需要确保 TextBox 值在计算中使用它们之前是有效的。 我将使用内联的 IF 语句来演示这一点。
例子:
double[] itemcost = new double[13];` //You shouldn't use double for storing cost
int qty=0;
itemcost[0] = ( Int32.TryParse(textBox5.Text, out qty) )? qty * price_salad1: 0d;
Int32.TryParse 方法尝试将数字的字符串表示形式转换为 integer。 如果返回true,则转换成功,否则返回false。 代码片段使用内联 IF 语句首先检查转换是否有效。 如果是,则执行计算,否则返回 0;
您应该查看的参考资料:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.