c# - 如何在不更改区域性设置的情况下将小数分隔符更改为“,”(逗号)
问题描述
我正在使用字符串格式 {###,###,##0.00} 和货币格式 {0:N2} 这给了我 9,203.25 ,但我需要 9.203,25 而不改变文化。请提出格式更改建议。谢谢..
解决方案
NumberFormatInfo
您可以从当前文化中复制,并根据自己的喜好进行编辑。
属性NumberDecimalSeparator
和NumberGroupSeparator
控制小数和千位分隔符。
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
推荐阅读
- c# - 为什么字段中的数字为零?
- swift - 在组合中将 AnyPublisher 转换为 Publisher
- android - ImageView 在 RecyclerView 中滚动后失去了位置
- django - 切换页面后计数视图在导航栏上不起作用
- scala - Scala 和 IntelliJ:不要为简单的带括号的 lambda 换行
- java - 当我们使用 RetryTemplate 时 Spring Retry 不起作用?
- entity-framework - 如何绑定实体框架导航属性
- android - 列出 Android 中已注册的生物特征(和类型)
- qt - 在多页上打印 QGraphicsScene
- sql - 按付款类型划分的销售额组