强制转换问题
我要大家解释清楚一点
string str = "8.00000";
int a = Convert.ToInt32(str);
运行环境是Visual Studio 2005
这两句代码在运行的时候会报错(错误时字符串格式不正确),我想知道为什么转换不了?
[解决办法]
- C# code
string str = "8.00000"; int a = Convert.ToInt32(Convert.ToDouble(str)); Console.WriteLine(a.ToString());
[解决办法]
Int32只接受整数,也就是8
8.0对Int32来说是非法的
你可以用Decimal或Double过渡
string str = "8.00000";
int a = (int)Convert.ToDouble(str);
[解决办法]
int32是整数
string str = "8.0000";
double a = Convert.ToDouble(str);
可以这样来表示!!
Console.WriteLine(Int32.MaxValue);//最大值
Console.WriteLine(Int32.MinValue);//最小值
并不能包含带小数点的字符串转换!