将double转换为字符串时,如何在C#中将其四舍五入到小数点后N位
本文关键字:四舍五入 小数点 转换 double 字符串 | 更新日期: 2023-09-27 18:15:42
可能重复:
小数点后两位有效数字的四舍五入
我最多需要N个小数,不再需要,但我不想要尾随的零。例如,如果N=2,则
15.352
15.355
15.3
15
应该(分别(成为
15.35
15.36
15.3
15
尝试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
四舍五入的第二个参数用于指定要四舍五舍五入到的小数位数。默认情况下,它会向上取整。
这可以通过使用自定义格式字符串来完成,例如"0.##",它最多显示两位小数。
String.Format("{0:0.##}", 123.4567); // "123.46"
参考:http://www.csharp-examples.net/string-format-double/
Google确实起到了带头作用:使用##跳过格式字符串中的前导零。
// max. two decimal places
String.Format("{0:0.##}", 123.4567); // "123.46"
String.Format("{0:0.##}", 123.4); // "123.4"
String.Format("{0:0.##}", 123.0); // "123"