如何使用jquery格式化数字 [英] how to format number the using jquery

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

问题描述

我正在尝试删除。之后的号码。那么我想格式化数字(16810900.211233)喜欢这个(16,810,900),但我不知道怎么做这里是我的HTML是这样的:

I am trying to remove the number which are coming after "." then i want to format the number (16810900.211233) to like this (16,810,900) but i dont know how to do that here is my html is this:

<link rel="stylesheet" type="text/css" href="http://cdn.webrupee.com/font" />
<div class="main">
<p class="active">10200.00</p>
<p class="in_active">16810900.211233</p>
<p class="active">0</p>
<p class="in_active">-</p>
<p class="active">1278200.543554</p>
<p class="in_active">-</p>
<p class="active">-</p>
<p class="in_active">9,890.656</p>
<p class="active">10,200</p>
<p class="in_active">16810900</p>
<p class="active">0</p>
<p class="in_active">-</p>
<p class="active">1278200.09</p>
<p class="in_active">-</p>
<p class="active">-</p>
<p class="in_active">9890.00</p>
</div>​

我在这里试过 jsfiddle

推荐答案

http://ntt.cc/2008/04/25/6-very-basic-but-very-useful-javascript-number-format-functions-for-web-developers.html

重新发明轮子没有意义.. :)

No point in reinventing the wheel.. :)

/**
* Formats the number according to the ‘format’ string;
* adherses to the american number standard where a comma
* is inserted after every 3 digits.
*  note: there should be only 1 contiguous number in the format,
* where a number consists of digits, period, and commas
*        any other characters can be wrapped around this number, including ‘$’, ‘%’, or text
*        examples (123456.789):
*          ‘0′ - (123456) show only digits, no precision
*          ‘0.00′ - (123456.78) show only digits, 2 precision
*          ‘0.0000′ - (123456.7890) show only digits, 4 precision
*          ‘0,000′ - (123,456) show comma and digits, no precision
*          ‘0,000.00′ - (123,456.78) show comma and digits, 2 precision
*          ‘0,0.00′ - (123,456.78) shortcut method, show comma and digits, 2 precision
*
* @method format
* @param format {string} the way you would like to format this text
* @return {string} the formatted number
* @public
*/ 

Number.prototype.format = function(format) {
  if (! isType(format, ’string’)) {return ";} // sanity check 

  var hasComma = -1 < format.indexOf(’,'),
    psplit = format.stripNonNumeric().split(’.'),
    that = this; 

  // compute precision
  if (1 < psplit.length) {
    // fix number precision
    that = that.toFixed(psplit[1].length);
  }
  // error: too many periods
  else if (2 < psplit.length) {
    throw(’NumberFormatException: invalid format, formats should have no more than 1 period: ‘ + format);
  }
  // remove precision
  else {
    that = that.toFixed(0);
  } 

  // get the string now that precision is correct
  var fnum = that.toString(); 

  // format has comma, then compute commas
  if (hasComma) {
    // remove precision for computation
    psplit = fnum.split(’.'); 

    var cnum = psplit[0],
      parr = [],
      j = cnum.length,
      m = Math.floor(j / 3),
      n = cnum.length % 3 || 3; // n cannot be ZERO or causes infinite loop 

    // break the number into chunks of 3 digits; first chunk may be less than 3
    for (var i = 0; i < j; i += n) {
      if (i != 0) {n = 3;}
      parr[parr.length] = cnum.substr(i, n);
      m -= 1;
    } 

    // put chunks back together, separated by comma
    fnum = parr.join(’,'); 

    // add the precision back in
    if (psplit[1]) {fnum += ‘.’ + psplit[1];}
  } 

  // replace the number portion of the format with fnum
  return format.replace(/[\d,?\.?]+/, fnum);
};

这篇关于如何使用jquery格式化数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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