Javascript 用JS四舍五入至小数点后2位
好的,这是一个由html页面调用的JS文件。整体t_价格变化为许多不同的美元价格。 然后将价格转换成新加坡元。这样做会使499这样的数字变成510.38294。我需要将任何数字四舍五入到小数点后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位。所以
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;
};