2012-05-22 94 views
-2

如何将字符串转换为int?我知道convert.ToInt32被使用,但它失败。错误是输入字符串格式不正确。 String s1 =“12.00”如何将字符串转换为int?

+0

12.00不是一个整数,它的十进制格式! –

回答

4

错误是因为字符串是"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

3

“12.00”是十进制数字,不是整数。整数没有小数部分。在调用Convert.ToInt32之前,使用Convert.ToDouble或类似的函数获取浮点数,或者修剪掉字符串的小数部分(.及其后面的内容)。

0

字符串“12.00”是一个双精度/十进制值。使用Double.Parse()或Double.TryParse()或Convert.ToDouble()。

6

我喜欢小数点分隔符总是点的假设(.)。你最好使用InvariantCulture,其中包含一个NumberFormat中明确指定的点作为小数点分隔符:

Convert.ToInt32(Convert.ToDouble("12.00", CultureInfo.InvariantCulture)); 

澄清:half the world uses the dot, the other half a comma。当我在一台装有荷兰文化的电脑上运行这个程序,并且没有指定CultureInfo时,它将采用系统默认(逗号)并返回1200,忽略点。

虽然它不会直接影响您的问题,但这是不能强调的。