将乘积量结果限制为2位小数

时间:2016-05-23 20:02:30

标签: javascript html decimal limit tofixed

我制作了一个简单的javascript,它会增加一个数量并显示结果。但是,我想将结果限制为2位小数。我尝试过使用toFixed,但这似乎不起作用。

有谁知道如何使这项工作?


function MultiplyTheAmount() {
	var multiplier = 0.75;
	var roundedMultiplier = multiplier.toFixed(2);
	document.getElementById('multiplyResult').innerHTML = document.getElementById('multiplyAmount').innerHTML * roundedMultiplier;
};
MultiplyTheAmount();
<ul style="list-style:none;">
  <li>Amount:</li>
  <li id="multiplyAmount">119.99</li>
  <li><br/></li>
  <li>Multiply by:</li>
  <li>0.75</li>
  <li><br/></li>
  <li>Result:</li>
  <li id="multiplyResult"></li>
</ul>

2 个答案:

答案 0 :(得分:2)

您需要将最终结果限制为2位小数:

(document.getElementById('multiplyAmount').innerHTML * roundedMultiplier).toFixed(2);

答案 1 :(得分:1)

toFixed方法应用于最终结果,以消除您看到的放大floating point inaccuracy

function MultiplyTheAmount() {
    var multiplier = 0.75;
    var roundedMultiplier = multiplier.toFixed(2);
    document.getElementById('multiplyResult').textContent = ( 
        +document.getElementById('multiplyAmount').textContent * roundedMultiplier
    ).toFixed(2);
};
MultiplyTheAmount();
<ul style="list-style:none;">
  <li>Amount:</li>
  <li id="multiplyAmount">119.99</li>
  <li><br/></li>
  <li>Multiply by:</li>
  <li>0.75</li>
  <li><br/></li>
  <li>Result:</li>
  <li id="multiplyResult"></li>
</ul>

与问题无关,但我建议在不处理textContent内容时使用innerHTML代替HTML