我的应用程序允许用户捕获数值。在上下文中,我不知道他们是在获取货币价值还是其他一些数字金额。我需要适应不同的小数点分隔符和分组分隔符,但是我应该从 CultureInfo 中选择哪个?
有谁知道在什么情况下 NumberDecimalSeparator 和 CurrencyDecimalSeparator 可能不同?
这很容易检查预定义的文化:
using System;
using System.Globalization;
class Test
{
static void Main()
{
foreach (var culture in CultureInfo.GetCultures(CultureTypes.AllCultures))
{
var formatInfo = culture.NumberFormat;
if (formatInfo.NumberDecimalSeparator !=
formatInfo.CurrencyDecimalSeparator)
{
Console.WriteLine("{0}: {1} {2}",
culture,
formatInfo.NumberDecimalSeparator,
formatInfo.CurrencyDecimalSeparator);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的盒子上的结果:
et: , .
tg: , ;
fa: . /
kk: , -
ky: , -
tzm: , .
ps: , ?
prs: , .
et-EE: , .
tg-Cyrl-TJ: , ;
fa-IR: . /
kk-KZ: , -
ky-KG: , -
ps-AF: , ?
prs-AF: , .
tzm-Latn-DZ: , .
en-ZA: . ,
tg-Cyrl: , ;
tzm-Latn: , .
Run Code Online (Sandbox Code Playgroud)