[英]Format multiplication result to 2 decimal places
我在用 javascript 格式化錢時有一些奇怪的行為。 我已經閱讀並嘗試使用此頁面中的多種方法,但運氣不同,但無法獲得預期的結果。
這就是我正在做的。 我有一個<input>
,用戶可以在其中輸入商品的數量,比如他們想要 5 個 X,每個 X 的成本為 19.34 英鎊(單價)。
目前我正在使用 on change 功能來做這件事,但這應該無關緊要。
這是我得到的與我應該得到的相比:
5 x 19.34 英鎊 = 我得到: £96.7
,我想要: £96.70
6 x £19.34 = 我得到: £116.03999999999999
,我想要: £116.04
3 x £19.34 = 我得到: £58.019999999999996
,我想要: £58.02
通過上面的例子,這是我的代碼:
$('.js_qty').change(function () {
qty = $(this).val()
$('#price').text(qty * unitPrice.toFixed(2))
});
特別是這一行似乎沒有給我預期的結果:
unitPrice.toFixed(2)
我錯過了什么?
您需要在乘法結果上調用toFixed(2)
,而不是直接在unitPrice
上調用:
var unitPrice = 19.34; $('.js_qty').change(function() { var qty = $(this).val(); $('#price').text((qty * unitPrice).toFixed(2)); });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <select class="js_qty"> <option value="0">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> </select> <div id="price"></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.