我正在为表单使用函数calculateTotal()。在此函数中是一个变量,用于存储另外两个函数返回的总和。根据表单中的用户输入,总和可以包含几个小数点。即76.6666666666。我想知道我是否可以在显示之前对这笔金额进行舍入?我试过Math.round(theWholeThing),不起作用。 我不知道如何对数字进行舍入,因为它可以随着用户对表单的输入而改变。 与parseint相同。
function calculateTotal()
{
var theWholeThing = areaTimesType() + getSetUp();
var divobj = document.getElementById('totalPrice');
divobj.style.display='block';
divobj.innerHTML = "Total Price For grow space $"+theWholeThing + "\u00A0 \u00A0per month";
}
答案 0 :(得分:3)
尝试toFixed
(76.6666666666).toFixed(); => 77
(76.6666666666).toFixed(1); => 76.7
您的代码将如下所示
function calculateTotal()
{
var theWholeThing = areaTimesType() + getSetUp();
var divobj = document.getElementById('totalPrice');
divobj.style.display='block';
divobj.innerHTML = "Total Price For grow space $"+(theWholeThing).toFixed(2) + "\u00A0 \u00A0per month";
}
答案 1 :(得分:0)
你在哪里运行Math.round()?也许你没有捕捉到round()函数的结果。尝试类似:
divobj.innerHTML = "Total Price For grow space $"+ Math.round(theWholeThing) + "\u00A0 \u00A0per month";
更好的是,当你声明theWholeThing时,将结果四舍五入:
var theWholeThing = Math.round(areaTimesType() + getSetUp());
答案 2 :(得分:0)
试试这个:
For 2 digit = Math.round(num * 100) / 100
For 3 digit = Math.round(num* 1000)/1000
您可以查看此功能的详细信息