首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2012-04-12 
string型的“600.000”怎么转换为int型?为什么我用int。parse不能转换?[解决办法]int.Parse(600.000.Split(

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好了。但是如果是千分计数的话就把点号替换之后再处理

热点排行