在PHP中,我们有number_format().传递给它的值如下:
number_format(3.00 * 0.175, 2);
Run Code Online (Sandbox Code Playgroud)
返回0.53,这是我所期望的.
但是,在JavaScript中使用 toFixed()
var num = 3.00 * 0.175;
num.toFixed(2);
Run Code Online (Sandbox Code Playgroud)
返回0.52.
好吧,也许toFixed不是我想要的......也许是这样的......
var num = 3.17 * 0.175;
var dec = 2;
Math.round( Math.round( num * Math.pow( 10, dec + 1 ) ) / Math.pow( 10, 1 ) ) / Math.pow(10,dec);
Run Code Online (Sandbox Code Playgroud)
不,这也不起作用.它将返回0.56.
如何number_format在JavaScript中获得一个不能给出错误答案的函数?
实际上我确实为js找到了number_format的实现,http://phpjs.org/functions/number_format ,但它遇到了同样的问题.
这里有什么用JavaScript四舍五入?我错过了什么?