我有一个德语值 20,55
。
当我将区域设置更改为美国时,运行此代码后该值显示为 2055.0
:
double d = Double.Parse("20,55",CultureInfo.CurrentCUCulture);
这是为什么?
最佳答案
因为在美国 ,
是千位分隔符,它被忽略了?就像在德国(和欧洲大陆)一样,.
是千位分隔符,它被忽略了吗?
在德国你写:1.000,55。在美国,你写:1,000.55(有些学派删除 ,
如果前面有一个数字。所以 1000.55 和 11,000.55)。
现在,如果您想确保您的程序使用的是 de-DE
文化,请在任何地方都作为参数传递
CurrentCulture culture = new CultureInfo("de-DE");
double d = double.Parse("20,55", culture);
关于c# - Double.Parse 用于 native 语言支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7872910/