【实例代码】:
var Number = { /** * 将数值四舍五入(保留2位小数)后格式化成金额形式 * * @param num * 数值(Number或者String) * @return 金额格式的字符串,如'1,234,567.45' * @type String */ formatCurrency2:function(num){ if(!num || isNaN(num)){ num ="0.00"; } num = num.toString().replace(/\$|\,/g,''); sign =(num ==(num =Math.abs(num))); num =Math.floor(num*100+0.50000000001); cents = num%100; num = Math.floor(num/100).toString();if(cents<10) cents ="0"+ cents; for(var i =0; i <Math.floor((num.length-(1+i))/3); i++){ num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3)); } return(((sign)?'':'-')+ num +'.'+ cents); }, /** * 将数值四舍五入(保留1位小数)后格式化成金额形式 * * @param num * 数值(Number或者String) * @return 金额格式的字符串,如'1,234,567.4' * @type String */ formatCurrency1:function(num){ if(!num || isNaN(num)){ num ="0.0"; } num = num.toString().replace(/\$|\,/g,''); sign =(num ==(num =Math.abs(num))); num =Math.floor(num*10+0.50000000001); cents = num%10; num =Math.floor(num/10).toString(); for(var i =0; i <Math.floor((num.length-(1+i))/3); i++){ num = num.substring(0,num.length-(4*i+3))+','+ num.substring(num.length-(4*i+3)); } return(((sign)?'':'-')+ num +'.'+ cents); }, formatCurrency:function(num){ if(!num || isNaN(num)){ num ="0.00"; } var t = num, i, r;debugger; for( t = t.toString().replace(/^(\d*)$/,"$1."), t =(t +"00").replace(/(\d*\.\d\d)\d*/,"$1"), t = t.replace(".",","), i =/(\d)(\d{3},)/; i.test(t);){ t = t.replace(i,"$1,$2"); } return t = t.replace(/,(\d\d)$/,".$1"), r = t.split("."), r[1]=="00"&&(t = r[0]), t } };
【测试代码】:
console.info(Number.formatCurrency2(123232)); console.info(Number.formatCurrency2()); console.info(Number.formatCurrency2('')); console.info(Number.formatCurrency2("")); console.info(Number.formatCurrency1(123232)); console.info(Number.formatCurrency1()); console.info(Number.formatCurrency1('')); console.info(Number.formatCurrency1("")); console.info(Number.formatCurrency(123232.999)); console.info(Number.formatCurrency()); console.info(Number.formatCurrency('')); console.info(Number.formatCurrency(""));
【打印结果】:
123,232.00 0.00 0.00 0.00 123,232.0 0.0 0.0 0.0 123,232.99 0.00 0.00 0.00
捐助分享者
以前并不喜欢编程,但是现在已经是一个为程序而痴迷的IT迷,在此分享一些自己整理并优化后的东西,希望能给IT迷们有所帮助,有欣喜,也还有汗水,同时也希望大家能支持一下。 当然,有钱捧个钱场(支持支付宝和微信捐助,加入it资料中心扣扣群),没钱捧个人场,有了大家的支持,我们会更有动力,会做的更好的,谢谢各位。