0 c# culture currency cultureinfo
我找不到给定数字和货币将它们打印到给定文化的字符串的选项。我发现的最接近的东西是decimal.ToString("C", GIVEN_CULTURE)
,但这不会要求货币,并且会假设我正在谈论文化所了解的货币。如果我在欧洲使用美元怎么办?
例如,Javascript 在构建字符串时将请求这两个参数:
GIVEN_STRING.toLocaleString(culture, { style: 'currency', currency: currency })
Run Code Online (Sandbox Code Playgroud)
这是相关的,因为我正在开发的软件可以处理美元和 MXN(墨西哥比索)。我们的网络仪表板显示有关文化的不同符号(Chrome 示例,我认为它在跨浏览器上有所不同):
zh:
es-MX:
如果您担心的只是货币符号,您可以轻松地将其设置为您喜欢的任何符号:
\n\nvar format = (NumberFormatInfo)CultureInfo.CreateSpecificCulture("es-MX").NumberFormat.Clone();\nformat.CurrencySymbol = "US$";\ndecimal amount = 12.34m;\namount.ToString("C", format);\n// OUTPUT:\n// US$12.34\n
Run Code Online (Sandbox Code Playgroud)\n\n但通常还有更多格式化货币值的方法。正如您所看到的,例如,由于特定的文化差异(如小数点、货币符号位置、间距等),该值在德国的格式会非常不同:
\n\namount.ToString("C", CultureInfo.CreateSpecificCulture("de-DE"));\n// OUTPUT:\n// 12,34 \xe2\x82\xac\n
Run Code Online (Sandbox Code Playgroud)\n