关于javascript:Math.round()以逗号后的小数字不是2位小数

Math.round() round numbers up not 2 decimals after comma

本问题已经有最佳答案,请猛点这里访问。

这是我的代码:

1
Math.round((7/2)).toFixed(2)

此代码打印:"4.00",而应打印3.50。哪里有问题?如果不进行四舍五入,如何对该值进行四舍五入?


不,它应该打印"4.00",这就是为什么:你把3.5四舍五入到4,然后在4上称为toFixed(2)

如果你想要"3.50",那么不要先把它四舍五入为整数;toFixed会把它四舍五入到你要求的位数(尽管如果你输出到两个小数位,7/2根本不需要四舍五入):

1
(7/2).toFixed(2)

例如。:

1
snippet.log((7/2).toFixed(2));
1
2
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js">

例如,toFixed实际上进行舍入:

1
snippet.log((1.237).toFixed(2)); //"1.24"
1
2
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js">