0

金額を掛けて結果を表示する簡単な 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>

4

2 に答える 2

2

最終結果を小数点以下 2 桁に制限する必要があります。

(document.getElementById('multiplyAmount').innerHTML * roundedMultiplier).toFixed(2);
于 2016-05-23T20:04:08.383 に答える
1

メソッドを最終結果に適用して 、拡大された浮動小数点の不正確toFixedさを解消します。

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代わりに を使用することをお勧めします。innerHTMLHTML

于 2016-05-23T20:07:48.097 に答える