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
,它是空白的。
我该怎么办才能解决那个问题?
我想你在那里有隐藏的字符。您可以删除所有非数字字符:
pricestring = new string(pricestring.Where(c => char.IsDigit(c)).ToArray());
如果您有一个分数,这将失败,但在任何情况下,您都希望将其解析为int。
另外-尝试使用TryParse
而不仅仅是Parse
-更安全的方式