.NET 7 EF中如何给小数ToString同时添加千分位并保留两位小数?
解决价格格式化问题:1'234.56 格式实现
直接用自定义数值格式字符串就能同时满足千分位单引号分隔+保留两位小数的需求,不用强行合并N和0.00格式,给你两种可行写法:
写法一:自定义格式字符串
f.Price.ToString("#\'##0.00");
这里\'是转义后的单引号,作为千分位分隔符,0.00强制保留两位小数,哪怕数值是整数也会显示.00。
写法二:标准格式+替换
如果觉得自定义格式记起来麻烦,也可以先生成带逗号的千分位格式,再替换成单引号:
f.Price.ToString("#,##0.00").Replace(',', '\'');
这种写法更直观,也能适配更大位数的数值(比如12'345'678.90)。
进阶:自定义区域格式(适合多处复用)
如果你的项目里很多地方都需要这种格式,可以自定义NumberFormatInfo统一配置,避免重复写替换逻辑:
var customNumberFormat = new NumberFormatInfo { NumberGroupSeparator = "'", NumberDecimalDigits = 2 }; var formattedPrice = f.Price.ToString("N", customNumberFormat);
内容的提问来源于stack exchange,提问作者sorrow
相关产品推荐
相关产品推荐

