0

好的,这是在一个由 html 页面调用的 JS 文件中。总体 t_price 以美元为单位更改为许多不同的价格。T_price 然后转换为新加坡元。这样做会使像 499 这样的数字变成 510.38294。我需要将任何数字四舍五入到小数点后两位。这是我的代码:

r_price=t_price*1.27;
m_price=Math.round(r_price*100/100);
document.getElementById("v_price").value="$"+m_price;

无论出于何种原因 - 这是四舍五入到没有小数位而不是 2。所以 510.38294 变成了 510 而不是 510.38。

我使用了错误的 math.round 吗?任何帮助都会很棒。

4

3 回答 3

7

你写了 :

m_price=Math.round(r_price*100/100);

你的意思是 :

m_price=Math.round(r_price*100)/100;
于 2013-06-24T16:12:57.943 回答
2

Math.round() 完全按照您的要求做 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/round

你想要使用的是 toFixed() 像这样

m_price = m_price.toFixed(2);
于 2013-06-24T16:16:54.663 回答
0

X - 数字;N - 小数位数

    function roundPlus(x, n) {
        if (isNaN(x) || isNaN(n)) return false;
        var m = Math.pow(10, n);
        return Math.round(x * m) / m;
    };
于 2019-01-03T13:50:21.640 回答