使用javascript舍入小数

Pra*_*sad 5 javascript decimal rounding

我需要使用javascript将小数值四舍五入到小数位.

防爆,:

16.181 to 16.18
16.184 to 16.18
16.185 to 16.19
16.187 to 16.19
Run Code Online (Sandbox Code Playgroud)

我找到了一些答案,但大多数答案都没有完成16.185到16.19.

ayk*_*ayk 13

(Math.round((16.185*Math.pow(10,2)).toFixed(1))/Math.pow(10,2)).toFixed(2);
Run Code Online (Sandbox Code Playgroud)

如果你的值是,例如16.199正常回合将返回16.2 ...但是使用这种方法你也会得到最后的0,所以你看到16.20!但请记住,该值将以字符串形式返回.如果你想将它用于进一步的操作,你必须解析它:)

现在作为功能:

function trueRound(value, digits){
    return (Math.round((value*Math.pow(10,digits)).toFixed(digits-1))/Math.pow(10,digits)).toFixed(digits);
}
Run Code Online (Sandbox Code Playgroud)