将相乘结果限制为 2 位小数

Limit the multiplied amount result to 2 decimals

我做了一个简单的 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>

您需要将最终结果限制为小数点后两位:

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

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>

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