【问题标题】:ASP.net digits always rendering as Latin regardless of culture无论文化如何,ASP.net 数字始终呈现为拉丁语
【发布时间】:2015-09-04 13:09:26
【问题描述】:

我正在尝试以其原生形式呈现整数。我将文化信息设置如下:

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

并具有功能:

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

无论文化设置为ar-QAzh-HANS 等,数字始终以其拉丁形式呈现。

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

【问题讨论】:

  • 尝试设置 CurrentUICulture。
  • 尝试 CreateSpecificCulture 方法

标签: c# asp.net globalization multiple-languages


【解决方案1】:

这是我在多语言网络应用程序中做的第一件事。它也应该对你有用。虽然请注意来自 MSDN 的 comment

CultureInfo.CreateSpecificCulture 方法为中性文化“zh-Hant”(“zh-CHT”)和“zh-Hans”(“zh-CHS”)抛出 ArgumentException。

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();
}

【讨论】:

    猜你喜欢
    • 2011-07-09
    • 2021-10-04
    • 2015-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多