首页 > 解决方案 > 如何在不更改区域性设置的情况下将小数分隔符更改为“,”(逗号)

问题描述

我正在使用字符串格式 {###,###,##0.00} 和货币格式 {0:N2} 这给了我 9,203.25 ,但我需要 9.203,25 而不改变文化。请提出格式更改建议。谢谢..

标签: c#asp.net.netmodel-view-controller

解决方案


NumberFormatInfo您可以从当前文化中复制,并根据自己的喜好进行编辑。

属性NumberDecimalSeparatorNumberGroupSeparator控制小数和千位分隔符。

var info = (NumberFormatInfo)CultureInfo.CurrentCulture.NumberFormat.Clone();
info.NumberDecimalSeparator = ",";
info.NumberGroupSeparator = ".";
        
Console.WriteLine(string.Format(info, "{0:N2}", 9203.25)); // 9.203,25

在这里看到它

或者,如果您不想从当前文化继承任何格式设置,您可以从不变文化开始:

var info = new NumberFormatInfo()
{
    NumberDecimalSeparator = ",",
    NumberGroupSeparator = ".",
};

Console.WriteLine(string.Format(info, "{0:N2}", 9203.25)); // 9.203,25

在这里看到它


推荐阅读