Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用JS四舍五入至小数点后2位_Javascript_Html - Fatal编程技术网

Javascript 用JS四舍五入至小数点后2位

Javascript 用JS四舍五入至小数点后2位,javascript,html,Javascript,Html,好的,这是一个由html页面调用的JS文件。整体t_价格变化为许多不同的美元价格。 然后将价格转换成新加坡元。这样做会使499这样的数字变成510.38294。我需要将任何数字四舍五入到小数点后2位。这是我的代码: r_price=t_price*1.27; m_price=Math.round(r_price*100/100); document.getElementById("v_price").value="$"+m_price; 出于什么原因-这是四舍五入到无小数位数,而不是2位。所以

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

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

我用错数学圆了吗?任何帮助都会很好。

您写道:

m_price=Math.round(r_price*100/100);
你的意思是:

m_price=Math.round(r_price*100)/100;
Math.round()完全按照您的要求执行-

您要使用的是toFixed(),如下所示


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;
    };

就这样!除了我的例子,它是m_price=r_price.toFixed(2);感谢注意,您正在将数字转换为字符串,如果您只是简单地显示它就可以了;如果你在做后续的算术运算,你可能会想用汤姆·范德沃尔德的答案,结果是一个数字。
    function roundPlus(x, n) {
        if (isNaN(x) || isNaN(n)) return false;
        var m = Math.pow(10, n);
        return Math.round(x * m) / m;
    };