When converting double to string, how can I round it up to N decimal places in C#?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Round a double to 2 significant figures after decimal point
我最多需要N个小数,不再需要了,但我不想尾随零。例如,如果n=2,则
15.352
15.355
15.3
15
应该变成(分别)
15.35
15.36
15.3
15
试试
1 2 3 4 | 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 |
Round的第二个参数用于指定要舍入到的小数位数。默认情况下,它将被舍入。
这可以通过使用自定义格式字符串来完成,例如"0.",它最多显示两位小数。
1 | String.Format("{0:0.##}", 123.4567); //"123.46" |
参考:http://www.csharp-examples.net/string-format-double/
Google确实是带头:使用跳过格式字符串中的前导零。
1 2 3 4 | // 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" |