繁体   English   中英

将JS结果格式化为货币格式

[英]Format JS result into Currency Format

我想将结果格式转换为货币。 JS

$(function(){
    function credit (selector) {
         $(selector).each(function () {
             var total = 0,
             column = $(this).siblings(selector).andSelf().index(this);
             $(this).parents().prevUntil(':has(' + selector + ')').each(function () {
                 total += parseFloat($('td.credit:eq(' + column + ')', this).html()) || 0;
             })
             $(this).html(total);
         });
    }
    credit('td.creditsubtotal');
    credit('td.credittotal');
    });

结果显示在类标记中。 我希望它以货币格式显示。 例如。 $ x,xxx.xx($ 1,234.56)

http://jsfiddle.net/2c6p928x/

这样的事情应该可以解决问题:

$(function(){
function credit (selector) {
     $(selector).each(function () {
         var total = 0,
         formattedTotal, numCredit, strCredit 
         column = $(this).siblings(selector).andSelf().index(this);
         $(this).parents().prevUntil(':has(' + selector + ')').each(function () {
              strCredit = $('td.credit:eq(' + column + ')', this).html() || "";
              console.log(strCredit);
              numCredit = Number(strCredit.replace(/[^0-9\.]+/g,""));
              console.log(numCredit);
              total += parseFloat(numCredit) || 0;
         })
         formattedTotal = total.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
         $(this).html('$'+formattedTotal);
     });
}
credit('td.creditsubtotal');
credit('td.credittotal');

});

JSFiddle

您可以使用Numeral.js库。

这是一个示例,如何以货币格式设置total变量的格式:

$(this).html(numeral(total).format('$0,0.00'));

它只有3k,但支持多种不同的格式并具有本地化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM