如何在javascript中获取格式化的整数值

时间:2011-08-12 09:09:49

标签: javascript

这是我的整数值

12232445

我需要这样。

12,232,445

使用原型如何获得这个?

3 个答案:

答案 0 :(得分:0)

var number = 12232445,
    value = number.toString(),
    parts = new Array;

while (value.length) {
    parts.unshift(value.substr(-3));
    value = value.substr(0, value.length - 3);
}

number = parts.join(',');
alert(number); // 12,232,445

答案 1 :(得分:0)

它可能不是最干净的解决方案,但它会:

function addCommas(n)
{
    var str = String(n);
    var result = '';

    for(var i = 0; i < str.length; i++)
    {
        if((i - str.length) % 3 == 0)
            result += ',';
        result += str[i];
    }
    return result;
}

答案 2 :(得分:0)

这是我使用的函数,用于格式化千位分隔符并考虑小数(如果有的话):

function thousands(s) {
  var rx = /(-?\d+)(\d{3})/,

    intDec = (''+s)
      .replace(new RegExp('\\' + $b.localisation.thousandSeparator,'g'), '')
      .split('\\' + $b.user.localisation.decimalFormat),

    intPart = intDec[0],
    decPart = intDec[1] || '';

  while (rx.test(intPart)) {
    intPart = intPart.replace(rx,'$1'+$b.localisation.thousandSeparator+'$2');
  }
  return intPart + (decPart && $b.localisation.decimalFormat) + decPart;
}

thousands(1234.56) //--> 1,234.56

$b.localisation是用于会话的全局变量。

$b.localisation.thousands可以包含值,.或空格。
$b.localisation.decimalFormat可以包含值,.,具体取决于用户的区域设置