浏览 7452 次
锁定老帖子 主题:JavaScript格式化数字显示格式
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-02-02
sales#soulan.com /** * 格式化数字显示方式 * 用法 * formatNumber(12345.999,'#,##0.00'); * formatNumber(12345.999,'#,##0.##'); * formatNumber(123,'000000'); * @param num * @param pattern */ function formatNumber(num,pattern){ var strarr = num?num.toString().split('.'):['0']; var fmtarr = pattern?pattern.split('.'):['']; var retstr=''; // 整数部分 var str = strarr[0]; var fmt = fmtarr[0]; var i = str.length-1; var comma = false; for(var f=fmt.length-1;f>=0;f--){ switch(fmt.substr(f,1)){ case '#': if(i>=0 ) retstr = str.substr(i--,1) + retstr; break; case '0': if(i>=0) retstr = str.substr(i--,1) + retstr; else retstr = '0' + retstr; break; case ',': comma = true; retstr=','+retstr; break; } } if(i>=0){ if(comma){ var l = str.length; for(;i>=0;i--){ retstr = str.substr(i,1) + retstr; if(i>0 && ((l-i)%3)==0) retstr = ',' + retstr; } } else retstr = str.substr(0,i+1) + retstr; } retstr = retstr+'.'; // 处理小数部分 str=strarr.length>1?strarr[1]:''; fmt=fmtarr.length>1?fmtarr[1]:''; i=0; for(var f=0;f<fmt.length;f++){ switch(fmt.substr(f,1)){ case '#': if(i<str.length) retstr+=str.substr(i++,1); break; case '0': if(i<str.length) retstr+= str.substr(i++,1); else retstr+='0'; break; } } return retstr.replace(/^,+/,'').replace(/\.$/,''); } document.write("formatNumber('','')=" + formatNumber('','')); document.write("<br/>"); document.write("formatNumber(123456789012.129,null)=" + formatNumber(123456789012.129,null)); document.write("<br/>"); document.write("formatNumber(null,null)=" + formatNumber(null,null)); document.write("<br/>"); document.write("formatNumber(123456789012.129,'#,##0.00')=" + formatNumber(123456789012.129,'#,##0.00')); document.write("<br/>"); document.write("formatNumber(123456789012.129,'#,##0.##')=" + formatNumber(123456789012.129,'#,##0.##')); document.write("<br/>"); document.write("formatNumber(123456789012.129,'#0.00')=" + formatNumber(123456789012.129,'#,##0.00')); document.write("<br/>"); document.write("formatNumber(123456789012.129,'#0.##')=" + formatNumber(123456789012.129,'#,##0.##')); document.write("<br/>"); document.write("formatNumber(12.129,'0.00')=" + formatNumber(12.129,'0.00')); document.write("<br/>"); document.write("formatNumber(12.129,'0.##')=" + formatNumber(12.129,'0.##')); document.write("<br/>"); document.write("formatNumber(12,'00000')=" + formatNumber(12,'00000')); document.write("<br/>"); document.write("formatNumber(12,'#.##')=" + formatNumber(12,'#.##')); document.write("<br/>"); document.write("formatNumber(12,'#.00')=" + formatNumber(12,'#.00')); document.write("<br/>"); document.write("formatNumber(0,'#.##')=" + formatNumber(0,'#.##')); document.write("<br/>"); 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |