为什么double.Parse(" 0.05英寸)返回5.0? [英] Why double.Parse("0.05") returns 5.0?
本文介绍了为什么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屋!
查看全文