如何将一个数字格式化为一个固定的小数位数(保持尾随零),其中位数由变量指定?如何在c#中将Decimal格式化为编程控制的小数位数?
例如
int x = 3;
Console.WriteLine(Math.Round(1.2345M, x)); // 1.234 (good)
Console.WriteLine(Math.Round(1M, x)); // 1 (would like 1.000)
Console.WriteLine(Math.Round(1.2M, x)); // 1.2 (would like 1.200)
注意,因为我希望通过编程控制的名额,这样的String.format是不行的(当然我不应该生成格式字符串):
Console.WriteLine(
string.Format("{0:0.000}", 1.2M)); // 1.200 (good)
我应该包括Microsoft.VisualBasic并使用FormatNumber?
我希望在这里明显地丢失一些东西。
如何指定小数作为变量的数目?我想我可以做(1.2M).ToString(“D”+ x),但这似乎有点hacky – 2009-04-14 20:31:28
好吧,你可以随时把它转换为扩展方法。 – 2009-04-14 20:34:21