5个javascript的数字格式化函数分享_Javascript教程-查字典教程网
5个javascript的数字格式化函数分享
5个javascript的数字格式化函数分享
发布时间:2016-12-30 来源:查字典编辑
摘要:十进制四舍五入这两段代码帮助你做到四舍五入,对于你显示价格或者订单比较有用:代码1:复制代码代码如下:functionCurrencyFor...

十进制四舍五入

这两段代码帮助你做到四舍五入,对于你显示价格或者订单比较有用:

代码1:

复制代码 代码如下:

function CurrencyFormatted(amount) {

var i = parseFloat(amount);

if(isNaN(i)) { i = 0.00; }

var minus = '';

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

i = Math.abs(i);

i = parseInt((i + .005) * 100);

i = i / 100;

s = new String(i);

if(s.indexOf('.') < 0) { s += '.00'; }

if(s.indexOf('.') == (s.length - 2)) { s += '0'; }

s = minus + s;

return s;

}

/**

* Usage: CurrencyFormatted(12345.678);

* result: 12345.68

**/

代码2:

复制代码 代码如下:

function format_number(pnumber,decimals){

if (isNaN(pnumber)) { return 0};

if (pnumber=='') { return 0};

var snum = new String(pnumber);

var sec = snum.split('.');

var whole = parseFloat(sec[0]);

var result = '';

if(sec.length > 1){

var dec = new String(sec[1]);

dec = String(parseFloat(sec[1])/Math.pow(10,(dec.length - decimals)));

dec = String(whole + Math.round(parseFloat(dec))/Math.pow(10,decimals));

var dot = dec.indexOf('.');

if(dot == -1){

dec += '.';

dot = dec.indexOf('.');

}

while(dec.length <= dot + decimals) { dec += '0'; }

result = dec;

} else{

var dot;

var dec = new String(whole);

dec += '.';

dot = dec.indexOf('.');

while(dec.length <= dot + decimals) { dec += '0'; }

result = dec;

}

return result;

}

/**

* Usage: format_number(12345.678, 2);

* result: 12345.68

**/

添加逗号

这俩段代码帮助你添加逗号到每三位数字中,这让大的数字比较容易查看。

代码1:

复制代码 代码如下:

function CommaFormatted(amount) {

var delimiter = ","; // replace comma if desired

amount = new String(amount);

var a = amount.split('.',2)

var d = a[1];

var i = parseInt(a[0]);

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

var minus = '';

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

i = Math.abs(i);

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);

if(d.length < 1) { amount = n; }

else { amount = n + '.' + d; }

amount = minus + amount;

return amount;

}

/**

* Usage: CommaFormatted(12345678);

* result: 12,345,678

**/

代码2:

复制代码 代码如下:

function addCommas(nStr) {

nStr += '';

var x = nStr.split('.');

var x1 = x[0];

var x2 = x.length >; 1 ? '.' + x[1] : '';

var rgx = /(d+)(d{3})/;

while (rgx.test(x1)) {

x1 = x1.replace(rgx, '$1' + ',' + '$2');

}

return x1 + x2;

}

/**

* Usage: addCommas(12345678);

* result: 12,345,678

**/

数字格式化,来自PHP

这段javascript代码功能设计来自PHP的nubmer_format功能。能够四舍五入并且加入逗号分隔。而且可以自定义10进制分隔。

复制代码 代码如下:

function number_format (number, decimals, dec_point, thousands_sep) {

number = (number + '').replace(/[^0-9+-Ee.]/g, '');

var n = !isFinite(+number) ? 0 : +number,

prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),

sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,

dec = (typeof dec_point === 'undefined') ? '.' : dec_point,

s = '',

toFixedFix = function (n, prec) {

var k = Math.pow(10, prec);

return '' + Math.round(n * k) / k;

};

// Fix for IE parseFloat(0.55).toFixed(0) = 0;

s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');

if (s[0].length > 3) {

s[0] = s[0].replace(/B(?=(?:d{3})+(?!d))/g, sep);

}

if ((s[1] || '').length < prec) {

s[1] = s[1] || '';

s[1] += new Array(prec - s[1].length + 1).join('0');

}

return s.join(dec);

}

/**

* Usage: number_format(123456.789, 2, '.', ',');

* result: 123,456.79

**/

添加一个英文的排序后缀

复制代码 代码如下:

Number.prototype.toOrdinal = function() {

var n = this % 100;

var suffix = ['th', 'st', 'nd', 'rd', 'th'];

var ord = n < 21 ? (n < 4 ? suffix[n] : suffix[0]) : (n % 10 > 4 ? suffix[0] : suffix[n % 10]);

return this + ord;

}

/*

* Usage:

* var myNumOld = 23

* var myNumNew = myNumOld.toOrdinal()

* Result: 23rd

*/

除去非数字的字符

复制代码 代码如下:

function stripNonNumeric( str )

{

str += '';

var rgx = /^d|.|-$/;

var out = '';

for( var i = 0; i < str.length; i++ )

{

if( rgx.test( str.charAt(i) ) ){

if( !( ( str.charAt(i) == '.' && out.indexOf( '.' ) != -1 ) ||

( str.charAt(i) == '-' && out.length != 0 ) ) ){

out += str.charAt(i);

}

}

}

return out;

}

/*

* Usage: stripNonNumeric('123et45dhs6.789');

* Result: 123456.789

*/

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Javascript教程学习
    热门Javascript教程学习
    编程开发子分类