读书人

string型的“600.000”如何转换为int型

发布时间: 2012-04-12 15:46:35 作者: rapoo

string型的“600.000”怎么转换为int型?
为什么我用int。parse不能转换?

[解决办法]
int.Parse("600.000".Split('.')[0])
[解决办法]
600.000看成整数,你需要找下这个格式是哪个地区的
或者Repalce(".","")

正确的方法

System.Globalization.NumberFormatInfo nfi = new System.Globalization.NumberFormatInfo();
nfi.NumberGroupSeparator = ".";
int x = int.Parse("600.000", System.Globalization.NumberStyles.AllowThousands, nfi);
[解决办法]
这样可能比较通用些吧:

C# code
        string s = "600.000";        int r = (int)double.Parse(s);        Response.Write(r);
[解决办法]

字符串转化成别的类型,你首先要确认它是否是转化类型的有效形式

字符串"600.00"明显就不是一个int类型的有效形式,但是double的有效形式,所以可以选double再转int

string str = "600.000";
int i = Convert.ToInt32(Convert.ToDouble(str));
[解决办法]
600.000可以看成整数类型的。它的意思可能是600000,其中的.只是千位分隔符

有的国家的整数写成这样的12,345,666 这种写法也是整数
参见
C# 解析任意格式的数字字符串
http://dotnet.aspx.cc/file/C-Sharp-Parse-Custorm-Format-Number.aspx
[解决办法]
都有见解,如果你要取的数的点号是小数点 那就按照先转换成double再转int好了。但是如果是千分计数的话就把点号替换之后再处理

读书人网 >C#

热点推荐