如何在页面加载后使用jquery在数字中添加逗号格式

时间:2014-01-31 10:31:44

标签: javascript jquery

我有一页有银行资金摘要详情,我从API获得所有这些价值。这些值未格式化,例如50000.3645656。

所以这是我的页面结构,如下所示

<span class="format">50000.3645656</span>
<span class="format">50000.3645656</span>
<span class="format">50000.3645656</span>
<span class="format">50000.3645656</span>
<span class="format">50000.3645656</span>

所以我想要的是,我想用逗号分隔所有这些值,格式为两个小数点,如50,000.36。

如何在jquery方法中使用jquery和css类格式加载页面后执行此操作。

3 个答案:

答案 0 :(得分:6)

据我所知,你不能用纯CSS做到这一点。

但是,您可以使用JavaScript函数为您添加逗号。

我过去曾使用过这个:

function addCommas(nStr)
{
   nStr += '';
   var x = nStr.split('.');
   var x1 = x[0];
   var x2 = x.length > 1 ? '.' + x[1] : '';
   var rgx = /(\d+)(\d{3})/;
   while (rgx.test(x1)) {
      x1 = x1.replace(rgx, '$1' + ',' + '$2');
   }
   return x1 + x2;
}

Reference

然后做你的jquery:

$(function(){
   $(".format").each(function(c, obj){
      $(obj).text(addCommas(parseFloat($(obj).text()).toFixed(2)));
   });
});

JSfiddle Demonstration

答案 1 :(得分:0)

作为替代方案,为什么不使用能够很好地完成工作的小型库:

http://josscrowcroft.github.io/accounting.js/

答案 2 :(得分:0)

使用:

    var input = '55021.1231';
    var parts = input.split('.');
    var part1 = parts[0].replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,");
    var part2 = parseFloat('0.'+parts[1]).toFixed(2);
    part2=part2.split('.');
    alert(part1 + '.' + part2[1]);

<强> Demo