首页 > 其他 > 详细

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

时间:2015-05-28 19:38:24      阅读:240      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!