将javascript中的数字舍入到某个小数位的最佳方法

时间:2014-10-22 19:00:35

标签: javascript math

我使用此方法将数字舍入为小数:

function roundTo(x, d) {
    var p = Math.pow(10, d || 0);

    return Math.round(x * p) / p;
}

但遗憾的是Javascript的浮点原因会发生这种情况:

roundTo(23232323232323232, 15) -> 23232323232323230

解决此问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:4)

function roundTo(x, d) {
    return x.toFixed(d);
}

答案 1 :(得分:0)

KJ Price的答案构成了基础,我对字符串输出不满意。

如果要输出Number并处理String输入,请使用以下命令:

function roundTo(x, d) {
    return Number(Number(x).toFixed(d));
}