![](/img/trans.png)
[英]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.