码迷,mamicode.com
首页 > 其他好文 > 详细

全球化编程经验之数值类型的字符表示

时间:2015-05-28 19:38:47      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

当我们编写一款全球化软件的时候(特别是海外外包的软件项目,往往本土运行没有问题,部署到客户方,就有各类问题,时间也会是需要着重考虑的一个重要方面),就需要协调这些区域文化的差别。当时遇到了一个这样的问题,我想把string类型转换为double类型,如下图:


技术分享

通过b和this.drpBaseLine.SelectedValue值的跟踪,你会发现我的string 0.2被转换成了2.0,这是不是个亮瞎了的问题,请你忽略网页刷新啊,没赋值啊各种问题,这里单纯的就是个string转double,转换的不正确。其实这涉及到全球化编程的问题,因为我当前的机器时区是荷兰的(当然可能还有一些其他的设置也是荷兰的),.net内置支持这种Globalization 的区别,会根据操作系统的 地区和语言自动加载相应文化区域的 framework 类库资源

不同的区域,不同的文化,对于数值会有不同的表示方式,像荷兰他们的逗号代表的是小数点,点是分隔符,例如他们的“3,2"等价于我们的"3.2",那怎么解决区域不用这问题呢,其实dobule提供了一个接口用来设置区域的。如下图:

技术分享

示列:

string a="0.25";

double b=double.Parse(a, System.Globalization.CultureInfo.InvariantCulture);// b=0.25

全球化编程经验之数值类型的字符表示

标签:

原文地址:http://www.cnblogs.com/kristygirl/p/4536554.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!