我需要根据文化格式化一个数字,但我所拥有的只是来自HTTP请求的Accept-Language
,这是一个双字母代码,如fr
(对于法语)
这足以创建一个可以处理数字的CultureInfo吗?
答案 0 :(得分:4)
是的,你可以。以下代码:
type: 'time',
position: 'bottom',
gridLines: {
display: false
},
time: {
unit: 'day',
unitStepSize: 1,
displayFormats: {
day: 'MMM DD',
hour: 'h:mm A'
}
}
输出" 13,45"这是在数字中使用法语小数分隔符。
中性文化仅由两个字母的小写语言代码指定。例如,fr指定法语的中性文化,de指定德语的中性文化。
答案 1 :(得分:4)
这是一条评论来说明neutral cultures and specific cultures:
之间的区别var language = "fr";
var c1 = new CultureInfo(language);
Console.WriteLine(c1.EnglishName); // "French"
Console.WriteLine(c1.IsNeutralCulture); // "True"
Console.WriteLine((3.14m).ToString("C", c1)); // "3,14 €"
var c2 = CultureInfo.CreateSpecificCulture(language);
Console.WriteLine(c2.EnglishName); // "French (France)"
Console.WriteLine(c2.IsNeutralCulture); // "False"
Console.WriteLine((3.14m).ToString("C", c2)); // "3,14 €"
var languageAndCountry = "fr-CA";
var c3 = new CultureInfo(languageAndCountry);
Console.WriteLine(c3.EnglishName); // "French (Canada)"
Console.WriteLine(c3.IsNeutralCulture); // "False"
Console.WriteLine((3.14m).ToString("C", c3)); // "3,14 $"
总之,如果你只有语言,你就无法得到一切。你既可以获得中立的文化,也可以获得规范的文化。特定的文化,其中一些"典型的"国家被挑选。
当您同时拥有语言和国家/地区时,就像在"fr-CA"
中一样,事情表现得更好。
在我的系统中,存在"fr"
的以下特定文化:
fr-029,fr-BE,fr-BF,fr-BI,fr-BJ,fr-BL,fr-CA,fr-CD,fr-CF,fr-CG,fr-CH,fr-CI ,fr-CM,fr-DJ,fr-DZ,fr-FR,fr-GA,fr-GF,fr-GN,fr-GP,fr-GQ,fr-HT,fr-KM,fr-LU,fr -MA,fr-MC,fr-MF,fr-MG,fr-ML,fr-MQ,fr-MR,fr-MU,fr-NC,fr-NE,fr-PF,fr-PM,fr-RE ,fr-RW,fr-SC,fr-SN,fr-SY,fr-TD,fr-TG,fr-TN,fr-VU,fr-WF,fr-YT
(找到string.Join(", ", CultureInfo.GetCultures(CultureTypes.SpecificCultures).Where(x => x.TwoLetterISOLanguageName == "fr"))
)