文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>一个格式化数值的函数

一个格式化数值的函数

时间:2007-02-17  来源:PHP爱好者

简单模拟了一点XSL里的formatNumber()方法

一些说明:
“,” (半角的豆号) 如果有的话,看豆号到小数点(如果有的话)前有几位,则按几位划分整数部分
“0”(数字零) 如果该位上没有数字,就补0
“#”(井号) 如果该位上有数字就输出数字,没有则不输出

格式化数值的函数
<script>function formatNumber(number,pattern){var str= number.toString();var strInt;var strFloat;var formatInt;var formatFloat;if(/./g.test(pattern)){formatInt= pattern.split('.')[0];formatFloat= pattern.split('.')[1];}else{formatInt= pattern;formatFloat= null;}if(/./g.test(str)){if(formatFloat!=null){var tempFloat= Math.round(parseFloat('0.'+str.split('.')[1])*Math.pow(10,formatFloat.length))/Math.pow(10,formatFloat.length);strInt= (Math.floor(number)+Math.floor(tempFloat)).toString();strFloat= /./g.test(tempFloat.toString())?tempFloat.toString().split('.')[1]:'0';}else{strInt= Math.round(number).toString();strFloat= '0';}}else{strInt= str;strFloat= '0';}if(formatInt!=null){var outputInt= '';var zero= formatInt.match(/0*$/)[0].length;var comma= null;if(/,/g.test(formatInt)){comma= formatInt.match(/,[^,]*/)[0].length-1;}var newReg= new RegExp('(d{'+comma+'})','g');if(strInt.length<zero){outputInt= new Array(zero+1).join('0')+strInt;outputInt= outputInt.substr(outputInt.length-zero,zero)}else{outputInt= strInt;}var outputInt= outputInt.substr(0,outputInt.length%comma)+outputInt.substring(outputInt.length%comma).replace(newReg,(comma!=null?',':'')+'$1')outputInt= outputInt.replace(/^,/,'');strInt= outputInt;}if(formatFloat!=null){var outputFloat= '';var zero= formatFloat.match(/^0*/)[0].length;if(strFloat.length<zero){outputFloat= strFloat+new Array(zero+1).join('0');//outputFloat= outputFloat.substring(0,formatFloat.length);var outputFloat1= outputFloat.substring(0,zero);var outputFloat2= outputFloat.substring(zero,formatFloat.length);outputFloat= outputFloat1+outputFloat2.replace(/0*$/,'');}else{outputFloat= strFloat.substring(0,formatFloat.length);}strFloat= outputFloat;}else{if(pattern!=''
(pattern=='' && strFloat=='0')){strFloat= '';}}return strInt+(strFloat==''?'':'.'+strFloat);}alert(formatNumber(0,''));alert(formatNumber(12432.21,'#,###'));alert(formatNumber(12432.21,'#,###.000#'));alert(formatNumber(12432,'#,###.00'));alert(formatNumber(12432.419,'#,###.0#'));</script>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行](出处:蓝色理想)
非常全面的一个php技术网站,php 爱好者站 http://www.phpfans.net 有相当丰富的文章和源代码.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载