如何将字符串转换为int?
答
错误是因为字符串是"12.00"
第一转换字符串比翻番INT
int a = Convert.ToInt32(Convert.ToDouble("12.00"));
或
如果你只是想它的整数部分比
string s= "12.00";
string[] words = s.Split('.');
int a = Convert.ToInt32(words[0]);
另外ch eck已经回答了SO上的线索:C# Convert String Decimal to Int
答
“12.00”是十进制数字,不是整数。整数没有小数部分。在调用Convert.ToInt32
之前,使用Convert.ToDouble
或类似的函数获取浮点数,或者修剪掉字符串的小数部分(.
及其后面的内容)。
答
字符串“12.00”是一个双精度/十进制值。使用Double.Parse()或Double.TryParse()或Convert.ToDouble()。
答
我喜欢小数点分隔符总是点的假设(.
)。你最好使用InvariantCulture
,其中包含一个NumberFormat中明确指定的点作为小数点分隔符:
Convert.ToInt32(Convert.ToDouble("12.00", CultureInfo.InvariantCulture));
澄清:half the world uses the dot, the other half a comma。当我在一台装有荷兰文化的电脑上运行这个程序,并且没有指定CultureInfo时,它将采用系统默认(逗号)并返回1200
,忽略点。
虽然它不会直接影响您的问题,但这是不能强调的。
12.00不是一个整数,它的十进制格式! –