为什么double.Parse(" 0.05英寸)返回5.0? [英] Why double.Parse("0.05") returns 5.0?

查看:397
本文介绍了为什么double.Parse(" 0.05英寸)返回5.0?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我读从我的App.config的值;这就是:

I am reading a value from my App.config; which is:

 <add key="someValue" value="0.05"/>

和我尝试将其转换为加倍做:

And I try to convert it to double by doing:

 var d = double.Parse(ConfigurationManager.AppSettings["someValue"]);

和我获得0.05 5.0 insteads。

And I obtain 5.0 insteads of 0.05.

你能指点?我该怎么办错了,我应该怎么分析呢?

Can you advice? What do I do wrong and how should I parse this?

推荐答案

这对你的文化设置,测试相同,但有一个逗号,而不是一个点,你会看到这项工作的

That's for your culture settings, Test the same but with a comma instead a point and you will see that work's

var d = double.Parse("0,05");

要修复这个问题,你可以用来解析函数的后续超载

To fixed this problem you could used the follow overload of the parse function

var d = double.Parse(ConfigurationManager.AppSettings["someValue"], CultureInfo.InvariantCulture);

这篇关于为什么double.Parse(&QUOT; 0.05英寸)返回5.0?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆