![](/img/trans.png)
[英]Input string is not correct format when trying to sum gridview column value
[英]“Input string was not in a correct format” when setting a NumericUpDown value
我不明白為什么這行不通。
我用一個文件來設置一堆在我的計划。 我用分隔符讀取文件的內容。 我的文本文件如下所示: The Message$1$5001&5002&5003
當我想讀我的文件我得到錯誤的數值的數值: Input string was not in a correct format.
在線: nudInterval.Value = decimal.Parse(setting);
這是我的方法:
if (!lastUsed.EmptyFile())
{
string[] allSettings = lastUsed.Text.Split('$');
int settingCount = 0;
foreach (string setting in allSettings)
{
settingCount++;
if (settingCount == 1)
{
txtText.Text = setting;
}
else if (settingCount == 2)
{
if (setting == "0") tbType.SelectedTab = tbInterval;
else tbType.SelectedTab = tbRange;
}
else if (settingCount == 3)
{
nudInterval.Value = decimal.Parse(setting);
}
else if (settingCount == 4)
{
nudMin.Value = decimal.Parse(setting);
}
else if (settingCount == 5)
{
nudMax.Value = decimal.Parse(setting);
}
}
}
這是因為一半的分隔符是&,而不是$。
這意味着您正在嘗試執行
nudInterval.Value = decimal.Parse("5001&5002&5003");
這將失敗。
如果這些值是有效值,則可以更改split語句:
string[] allSettings = lastUsed.Text.Split(new char[] {'$', '&'});
或在分割前用$替換&:
string[] allSettings = lastUsed.Text.Replace('&', '$').Split('$');
那就是int.Parse
拋出的FormatException
消息。 什么是setting
? 您認為這是一個有效數字的字符串,但不是。 它可能會有一個&
掛掉它。
如果添加Console.WriteLine(setting)
, MessageBox.Show(setting)
或只是設置一個斷點並查看調試器中的setting
,會發生什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.