我脚本中的错误是什么? 它必须有固定的东西,不确定它是否应该是正确的位置?
四舍五入似乎不起作用。仍然有无穷无尽的小数位。
function output() {
var value1 = document.getElementById('value1').value;
var value2 = document.getElementById('value2').value;
var value3 = document.getElementById('value3').value;
document.getElementById('result1').innerHTML = (parseFloat(value1) + parseFloat(value2)) / parseFloat(value3).toFixed(2);
}

<input id="value1" type="text" onchange="output();" />
<span> + </span>
<input id="value2" type="text" onchange="output();" />
<span> / </span>
<input id="value3" type="text" onchange="output();" />
<p id="result1"> </p>
&#13;
答案 0 :(得分:1)
您在toFixed
的结果上调用parseFloat(value3)
,然后将其用作*
的右侧操作数 - 再次将其重新转换为数字。然后,您将获取乘法产生的数字并将其分配给innerHTML
,然后使用默认的toString
将其转换为字符串。
您可能打算将toFixed(2)
应用于整体结果:
document.getElementById('result1').innerHTML = ((parseFloat(value1) + parseFloat(value2)) * parseFloat(value3)).toFixed(2);
// --------------------------------------------^--------------------------------------------------------------^
function output() {
var value1 = document.getElementById('value1').value;
var value2 = document.getElementById('value2').value;
var value3 = document.getElementById('value3').value;
document.getElementById('result1').innerHTML = ((parseFloat(value1) + parseFloat(value2)) / parseFloat(value3)).toFixed(2);
}
<input id="value1" type="text" onchange="output();" />
<span> + </span>
<input id="value2" type="text" onchange="output();" />
<span> / </span>
<input id="value3" type="text" onchange="output();" />
<p id="result1"> </p>