c#输入字符串的格式不正确。 int.Parse

时间:2016-08-01 11:46:48

标签: c# string int

我对c#有严重的问题,这是我的代码:

string priceLowstring = Inventory.exportPrice(price.lowest_price);
string pricestring = Inventory.exportPrice(price.median_price);

Log.Success(priceLowstring);
Log.Success(pricestring);

int priceavg = int.Parse(pricestring);
int priceLow = int.Parse(priceLowstring);

我收到此错误:

[Gicminos 2016-08-01 11:52:56] SUCCESS: 4
[Gicminos 2016-08-01 11:52:56] SUCCESS: 2
[Gicminos 2016-08-01 11:52:56] ERROR: Unhandled exception occurred in bot: System.FormatException: Input string was not in a correct format.
at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
....

正如您在日志消息中看到的那样,字符串是正确的,它们没有任何空格..

我检查了我的/HKEY_CURRENT_USER/Control Panel/International/sPositiveSign并且它是空白的。

我必须做些什么来解决这个问题?

1 个答案:

答案 0 :(得分:1)

我假设你有隐藏的角色。您可以删除所有不是数字的字符:

pricestring = new string(pricestring.Where(c => char.IsDigit(c)).ToArray());

如果你有一个分数,你就会失败 - 但无论如何你要把它解析为int。

此外 - 尝试使用TryParse而非Parse - 更安全的方式