c# - Double.Parse 用于 native 语言支持

标签 c# parsing regional-settings

我有一个德语值 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/

相关文章:

c# - 存储过程上的 OdbcCommand - 输出参数出现 "Parameter not supplied"错误

C - 从字符串中解析电话号码

windows - 语言中立的文件系统访问规则

c# - HtmlAgilityPack - 如何理解页面重定向并加载重定向页面

c# - 异步等待无限回归

c# - 将一个字符串拆分成多个字符串

sharepoint - 将 SharePoint 默认日期时间格式更改为 dd MMM yyyy

ruby-on-rails - MalformedCSVError 与 rails CSV (FasterCSV)

java - 使用 Gson 自定义反序列化为 Map

javascript - 热衷于在 JavaScript 或 jQuery 中获取用户的货币区域设置?