我对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
并且它是空白的。
我必须做些什么来解决这个问题?
答案 0 :(得分:1)
我假设你有隐藏的角色。您可以删除所有不是数字的字符:
pricestring = new string(pricestring.Where(c => char.IsDigit(c)).ToArray());
如果你有一个分数,你就会失败 - 但无论如何你要把它解析为int。
此外 - 尝试使用TryParse
而非Parse
- 更安全的方式