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

本文关键字:不正确 int Parse 格式 输入 字符串 | 更新日期: 2023-09-27 17:59:44

我的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,它是空白的。

我该怎么办才能解决那个问题?

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

我想你在那里有隐藏的字符。您可以删除所有非数字字符:

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

如果您有一个分数,这将失败,但在任何情况下,您都希望将其解析为int。

另外-尝试使用TryParse而不仅仅是Parse-更安全的方式