2017-10-17 108 views
0

我正在使用JavaScript来显示$总数,因为已勾选复选框。它看起来像是支持3.5的值,并且将显示为这样。然而,4.0只是返回为4.我希望它显示小数位,作为美元数额。显示与小数位数共计的订单总计JavaScript

我用下面的代码:

<input value="4.0" type="checkbox" class="sum" data-toggle="checkbox" name="item1"> 
<input value="3.5" type="checkbox" class="sum" data-toggle="checkbox" name="item2"> 
var inputs = document.getElementsByClassName('sum'), 
      total = document.getElementById('order-total'); 

     for (var i=0; i < inputs.length; i++) { 
      inputs[i].onchange = function() { 
       var add = this.value * (this.checked ? 1 : -1); 
       total.innerHTML = parseFloat(total.innerHTML) + add 
       total1.innerHTML = parseFloat(total1.innerHTML) + add 
      } 
     } 

而这正是它会显示:

<div class="total-box" style="color: #ffffff;">Total: $<span id="order-total">0</span></div> 

它在技术上的工作......如果一个人下令$ 4项,它只是显示4美元。如果一个人添加一个3.50美元的项目,它将显示为7.50美元。但是,如果有人只订购3.50美元的产品,则显示为3.5美元。如果我将代码更改为如下:

<div class="total-box" style="color: #ffffff;">Total: $<span id="order-total">0</span>0</div> 

$ 3.50完美地工作。但是,$ 4项目显示为$ 40。

+2

[JavaScript中格式化数正好用两个小数]的可能的复制(https://stackoverflow.com/questions/1726630/formatting-a-number-with-exactly-两位小数在JavaScript中) – DocMax

+2

可能重复[如何在JavaScript中将数字格式设置为美元货币字符串?](https://stackoverflow.com/questions/149055/how-can-i-format-numbers-as -dollars-currency-string-in-javascript) – corsiKa

回答

0

您可能需要使用Number.toFixed()

+0

我一直在寻找.toFixed()信息,它看起来像我声明的数字作为变量? 例如: var num = 5.56789; var n = num.toFixed(2); 我没有将任何数字声明为变量,因为它们都直接添加到输入中。我试过在代码中添加.toFixed,我认为它应该,但是没有任何效果。 –