查找整数并附加.00小数

时间:2019-05-01 18:04:21

标签: javascript jquery html

如果数字不是十进制,我需要附加.00,但是当我尝试下面的代码时,它将整数更改为0.00。例如,如果数字为12,200,它将更改为0.00,而不是在末尾添加.00

$('.total-amount').each(function() {
  var x = Number($(this).val()).toFixed(2);
  $(this).val(x).text(x);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="total-in-basket">
  <div class="total-description">
    total is:
  </div>
  <div class="total-amount">
    $ 12,200
  </div>
</div>

1 个答案:

答案 0 :(得分:4)

一些问题:

  • div没有value属性,因此.val()将不起作用。使用.text()
  • Number应用于带有美元符号或逗号的内容将返回NaN

您可以使用replace删除非数字字符(但允许使用小数点),然后将其提供给Intl.NumberFormat提供的格式化程序:

var formatter = new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',
});


$('.total-amount').each(function() {
  var x = $(this).text().replace(/[^\d.]/g, "");
  $(this).text(formatter.format(x));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="total-in-basket">
    <div class="total-description">
             total is:
    </div>
    <div class="total-amount">
           $ 12,200
    </div>
</div>