IIS使用错误的pt-PT

时间:2015-08-02 16:37:50

标签: c# iis globalization windows-10

在.net 4.0中,Web表单和IIS 8 我在web.config中有这个:

<globalization culture="pt-PT" uiCulture="pt-PT" />

当我在C#中这样做时:

ltNumber.Text = (12345.12).ToString("N");

我明白了:12 345,12 但输出必须是12.345,12

这开始在Windows 10上看起来很糟糕.Windows 7一切都很好。什么可能是错的?

1 个答案:

答案 0 :(得分:2)

The numeric ("N") format specifier使用您的CurrentCulture设置。

这意味着您的CurrentCulture空格为NumberGroupSeparator,NumberDecimalSeparator

enter image description here

作为解决方案,您可以Clone CurrentCulture ToString,设置您想要的属性,并将 文化用作var clone = (CultureInfo) CultureInfo.CurrentCulture.Clone(); clone.NumberFormat.NumberDecimalSeparator = ","; clone.NumberFormat.NumberGroupSeparator = "."; ltNumber.Text = (12345.12).ToString("N", clone); // 12.345,12 中的第二个参数} 方法。等;

    @Transactional
public objectName getObjectByTitle(String title){
    TypedQuery< objectName > query = em.createQuery(
            "SELECT b FROM tableName AS b WHERE b.title = :title",
            objectName.class);
    return query.getSingleResult();
}

我认为这些属性不会根据操作系统版本进行更改。这一切都与您使用的文化设置有关。