簡體   English   中英

將乘法結果格式化為 2 位小數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM