我有这个字符串:无法施展字符串INT32
"-1238903096.0"
当我尝试使用Convert.ToInt32()或int.parse/int.TryParse它转换为Int32我得到一个出现FormatException:“附加信息:输入字符串格式不正确。”
但通常它应该工作,因为该值不超过Int32.MinValue范围? 任何想法:/?
我有这个字符串:无法施展字符串INT32
"-1238903096.0"
当我尝试使用Convert.ToInt32()或int.parse/int.TryParse它转换为Int32我得到一个出现FormatException:“附加信息:输入字符串格式不正确。”
但通常它应该工作,因为该值不超过Int32.MinValue范围? 任何想法:/?
您的值有一个小数点,最好将其解析为小数或双精度。
您也可以删除小数点,然后将其解析为整数。
或者在解析成双精度后抛出双精度... –
Xela是对的,小数点正在把你搞乱。尝试在将其转换为整数之前转换为双精度值。
int answer = Convert.ToInt32(Convert.ToDouble(s));
是的,你的值有一个小数点,所以你必须解析它为'double'或'decimal'。 – MarcinJuraszek
谢谢,这是解决方案! :) –
稍微偏离主题(和迂腐),但使用'Convert.ToInt32'不考虑转换,它将被视为解析。 – Matthew