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


    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好了。但是如果是千分计数的话就把点号替换之后再处理
  • 相关阅读:
    Vim配置IDE开发环境
    Win7任务计划自由预设系统定时自动关机
    awk中文手册
    awk简明教程
    Linux之mount命令详解
    VirtualBox内Linux系统与Windows共享文件夹
    堆排序详解
    int main(int argc,char* argv[])参数详解
    GDB调试详解
    VirtualBox中虚拟Ubuntu添加新的虚拟硬盘
  • 原文地址:https://www.cnblogs.com/gq0324/p/8276582.html
Copyright © 2020-2023  润新知