2015-04-06 51 views
-2

我有这个字符串:无法施展字符串INT32

"-1238903096.0" 

当我尝试使用Convert.ToInt32()或int.parse/int.TryParse它转换为Int32我得到一个出现FormatException:“附加信息:输入字符串格式不正确。”

但通常它应该工作,因为该值不超过Int32.MinValue范围? 任何想法:/?

+2

是的,你的值有一个小数点,所以你必须解析它为'double'或'decimal'。 – MarcinJuraszek

+0

谢谢,这是解决方案! :) –

+0

稍微偏离主题(和迂腐),但使用'Convert.ToInt32'不考虑转换,它将被视为解析。 – Matthew

回答

3

您的值有一个小数点,最好将其解析为小数或双精度。

您也可以删除小数点,然后将其解析为整数。

+0

或者在解析成双精度后抛出双精度... –

0

Xela是对的,小数点正在把你搞乱。尝试在将其转换为整数之前转换为双精度值。

int answer = Convert.ToInt32(Convert.ToDouble(s));