【发布时间】:2012-06-14 16:49:10
【问题描述】:
我想将小数转换为字符串,用逗号作为千位分隔符,并保持与创建小数时相同的精度。 (将有 2-5 个有效数字)
decimal d = 1234.4500M;
//I'd like "1,234.4500"
var notRight = d.ToString("###,###.#######"); //1,234.45
var alsoNotRight = d.ToString("###,###.00000");; //1,234.45000
var notRightEither = d.ToString("N"); //1,234.45
var notRightEither2 = d.ToString("G"); //1234.45000
如果不手动解析字符串,是否没有内置方法可以做到这一点?如果没有单一格式字符串,最简单的方法是什么?
【问题讨论】:
-
我决定研究一下格式化是如何完成的。不幸的是,繁重的工作不是托管代码(不足为奇),看着Standard Numeric Format String,看起来只有
"G"(默认)保留了空格。
标签: c# .net decimal string-formatting