显示总计2个小数位数

时间:2017-03-08 18:56:58

标签: javascript jquery tofixed

我正在开设餐厅在线菜单,需要在客户向菜单添加项目时显示总数。但是,我的总计只有1位小数更新。我正在尝试使用toFixed(2),但无法使其正常工作。

var banquetPrice = parseInt($(document).find(".menuChoice").val());
$(".menuChoice").change(function () {
updateTotal()
});
var total = (banquetPrice * numGuests) + (9.25 * numGuac) + (9.25 * numQuesa) + (9.25 * numNachos)

$("#total").html(total);
total.toFixed(2);

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

你去哥们..

var total = (12.35 * 5) + (9.25 * 1) + (9.25 * 1) + (9.25 * 1)

$("#total").html(total.toFixed(2));
label{
border-bottom : 2px solid green;
font-weight: 900;
font-size: 32px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<label id="total" ></label>
</div>

答案 1 :(得分:0)

正如上面的评论所述,您应该在更新total.toFixed(2)元素文本的同一行调用#total。您目前丢弃了toFixed的返回值,而不是使用它。使用性能更高的.text()代替.html(),该行现在变为:

$("#total").text(total.toFixed(2))

演示:

&#13;
&#13;
$(".menuChoice").change(updateTotal)

updateTotal()

function updateTotal() {
  // Assuming that these variables are already
  // defined and set to meaningful values
  var numGuests = 1
  var numGuac = 1
  var numQuesa = 1
  var numNachos = 1
  
  var banquetPrice = +$(".menuChoice").val()
  var total = (banquetPrice * numGuests) + (9.25 * numGuac) + (9.25 * numQuesa) + (9.25 * numNachos)
  $("#total").text(total.toFixed(2))
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<p>Menu Choice: <input class="menuChoice" value="0"/>
<p>Total: $<span id="total"></span></p>
&#13;
&#13;
&#13;