将double转换为string时,如何将其舍入到C#中的N个小数位?

Nik*_*vak 4 c# number-formatting

可能重复:
将小数点后的双精度数加到2位有效数字

我需要最多 N个小数,不多,但我不想尾随零.例如,如果N = 2则

15.352
15.355
15.3
15

应该(分别)

15.35
15.36
15.3
15

aev*_*nko 7

尝试 Math.Round(value, 2).ToString()

Math.Round(15.352, 2).ToString();  //15.35
Math.Round(15.355, 2).ToString();  //15.36
Math.Round(15.3, 2).ToString();    //15.3
Math.Round(15.0, 2).ToString();    //15
Run Code Online (Sandbox Code Playgroud)

圆形的第二个参数用于指定要舍入的小数位数.它默认会四舍五入.


And*_*sev 5

这可以通过使用自定义格式字符串来完成,例如"0.##",它显示最多两位小数.

String.Format("{0:0.##}", 123.4567);      // "123.46"
Run Code Online (Sandbox Code Playgroud)

参考:http://www.csharp-examples.net/string-format-double/