jQuery中的逗号格式数字 [英] Comma-formated numbers in jQuery

查看:112
本文介绍了jQuery中的逗号格式数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在jQuery中具有以下功能,可将数字格式化为逗号格式:

I have following function in jQuery to format the number into comma-formatted:

function CommaFormattedN(amount) {

    var delimiter = ","; 
    var i = parseInt(amount);

    if(isNaN(i)) { return ''; }

    i = Math.abs(i);

    var minus = '';
    if (i < 0) { minus = '-'; }

    var n = new String(i);
    var a = [];

    while(n.length > 3)
    {
        var nn = n.substr(n.length-3);
        a.unshift(nn);
        n = n.substr(0,n.length-3);
    }

    if (n.length > 0) { a.unshift(n); }

    n = a.join(delimiter);

    amount = minus + n;

    return amount;

}

我在

 $('.text_field1').bind("focus blur change keyup", function(){    
 var $el = $(this);
    $el.val(CommaFormattedN($el.val()));
});

它工作正常,但是问题是,当位数从5增加时,它什么也没做.所有数字将被删除,然后重新开始.

It's working fine, but the problem is, when number of digits increase from 5, it makes nothing. All digits are deleted and it starts again.

推荐答案

  1. 有一个与符号有关的错误.您使用的是绝对值,而不是原始值.
  2. 您的代码似乎可以正常工作,您可以尝试调试调用函数的方式.

这是您的工作代码,进行了较小的编辑(与符号相关): http://jsfiddle.net/qcVDc/1/

Here is your working code with minor edit ( sign related ) : http://jsfiddle.net/qcVDc/1/

这篇关于jQuery中的逗号格式数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆