无论文化背景如何,ASP.net数字总是呈现为拉丁语

本文关键字:数字 拉丁语 net ASP 文化 背景 | 更新日期: 2023-09-27 18:11:16

我试图以其原生形式呈现整数。我设置区域性信息如下:

CurrentCulture = new CultureInfo(ViewingLanguage.LanguageTag)
{
    NumberFormat = new NumberFormatInfo{DigitSubstitution = DigitShapes.NativeNational}
};

并具有以下功能:

public static string NiceNumber(CultureInfo culture, int number)
{
    return number.ToString(culture);
}

无论区域设置为ar-QA, zh-HANS等,数字总是以拉丁形式呈现。

如何以原始形式呈现数字?

无论文化背景如何,ASP.net数字总是呈现为拉丁语

这是我在多语言web应用程序中做的第一件事。这对你也应该有用。不过请注意MSDN的注释:

CultureInfo

。CreateSpecificCulture方法为中性区域性抛出ArgumentException;("zh-CHT")和"zh-Hans"("zh-CHS"。

protected override void InitializeCulture()
{
    if (Request.QueryString["lang"] != null)
    {
        string m_selectedLanguage = Request.QueryString["lang"];
        UICulture = m_selectedLanguage;
        Culture = m_selectedLanguage;
        Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(m_selectedLanguage);
        Thread.CurrentThread.CurrentUICulture = new CultureInfo(m_selectedLanguage);
    }
    base.InitializeCulture();
}