Javascript 如何使用jquery格式化数字
我正在尝试删除“.”之后的数字。然后我想格式化数字(16810900.211233),使之类似于(16810900),但我不知道如何做这是我的html:Javascript 如何使用jquery格式化数字,javascript,jquery,Javascript,Jquery,我正在尝试删除“.”之后的数字。然后我想格式化数字(16810900.211233),使之类似于(16810900),但我不知道如何做这是我的html: <link rel="stylesheet" type="text/css" href="http://cdn.webrupee.com/font" /> <div class="main"> <p class="active">10200.00</p> <p class="in_activ
<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>
10200.00
16810900.211233
0
-
1278200.543554
-
-
9890.656
10200
16810900
0
-
1278200.09
-
-
9890.00
我在这里试过了
重新发明轮子毫无意义……)
/**
*根据“格式”字符串设置数字格式;
*符合美国数字标准,其中逗号
*每3位数字后插入一次。
*注意:格式中应该只有1个连续数字,
*其中数字由数字、句点和逗号组成
*任何其他字符都可以环绕此数字,包括“$”、“%”或文本
*示例(123456.789):
*“0'-(123456)仅显示数字,无精度
*“0.00”(123456.78)仅显示数字,精度为2
*“0.0000”(123456.7890)仅显示数字,精度为4
*'0000'-(123456)显示逗号和数字,无精度
*'0000.00'-(123456.78)显示逗号和数字,精度为2
*'0,0.00'-(123456.78)快捷方式,显示逗号和数字,2精度
*
*@method格式
*@param format{string}您希望格式化此文本的方式
*@return{string}格式化的数字
*@公众
*/
Number.prototype.format=函数(格式){
如果(!isType(格式,'string'){return”}//健全性检查
var hascoma=-1
从
重新发明轮子毫无意义……)
/**
*根据“格式”字符串设置数字格式;
*符合美国数字标准,其中逗号
*每3位数字后插入一次。
*注意:格式中应该只有1个连续数字,
*其中数字由数字、句点和逗号组成
*任何其他字符都可以环绕此数字,包括“$”、“%”或文本
*示例(123456.789):
*“0'-(123456)仅显示数字,无精度
*“0.00”(123456.78)仅显示数字,精度为2
*“0.0000”(123456.7890)仅显示数字,精度为4
*'0000'-(123456)显示逗号和数字,无精度
*'0000.00'-(123456.78)显示逗号和数字,精度为2
*'0,0.00'-(123456.78)快捷方式,显示逗号和数字,2精度
*
*@method格式
*@param format{string}您希望格式化此文本的方式
*@return{string}格式化的数字
*@公众
*/
Number.prototype.format=函数(格式){
如果(!isType(格式,'string'){return”}//健全性检查
var hascoma=-1
库是实现目标的最简单方法。这允许您为不同区域性处理的方式指定格式和帐户
/**
* 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);
};
Globalize.format(Math.round(16810900.211233))
$("p").text(function(i, v) {
if (v == "-")
return v; // or whatever you want to to with these
v = v.split(".")[0]; // remove anything after the first "."
v = v.replace(/[^\d]/g, ""); // remove non-numeric characters
var group = 3;
var min = v.length > 4 ? group : 4; // format thousands without separator
for (var res=[], i=v.length; i>min; i-=group)
res.push(v.substr(i-group, group));
res.push(v.substr(0,i));
return res.reverse().join(".");
});