js prototype 格式化数字 By shawl.qiu


说明:
最近打算把 Js 练精点, 只好暂时放弃原来掌握的还行的 VBScript, 全面使用 Jscript/Javascript.
发现 VBs 和 Js 都有些双方没有的功能...
比如 Js 就没有 VBs 的 formatNumber, formatN*** 类的函数.
但是 Js 几乎随处可用 正则, 这是我的长处, 这点特吸引我, 不像 VBs 只有 RegExp 使用域可以使用正则.

引用一本书里的一句话:
The way to really learn a new programming language is to write programs with it.
--JavaScript: The Definitive Guide, 4th Edition

目录:
1. 内容: Number.prototype.formatNumber() 源代码.
2. 效率测试

shawl.qiu
2006-10-14
http://blog.csdn.net/btbtd

1. 内容: Number.prototype.formatNumber() 源代码.

linenum

复制代码 代码如下:

<%
var $num=9876577784321.011
Number.prototype.formatNumber=function(pointPsti){
/*--------------------------------------------------------*\
* Javascript 格式化数字原型, By shawl.qiu
* 客户端使用: var $num=9876577784321.011; document.write('<br/>'+$num.formatNumber(3)+'<br/>');
* 服务端使用: var $num=9876577784321.011; Response.Write($num.formatNumber(3));
\*--------------------------------------------------------*/
if(this=='')return false;
if(typeof(pointPsti)=='undefined'){
var pointPsti=3;
} else { if(isNaN(pointPsti)){pointPsti=3}; }
var num=this+'', numDc='', temp='';
if(num.indexOf('.')>-1){ ptPs=num.indexOf('.'); numDc=num.substr(ptPs); num=num.substr(0,ptPs); }
for(var i=num.length-1; i>=0;temp+=num.substr(i,1), i--);
var re=new RegExp('(.{'+pointPsti+'})','g');
temp=temp.replace(re,'$1,'); num='';
for(var i=temp.length-1; i>=0; num+=temp.substr(i,1), i--);
num=num.replace(/^\,|\,$/,'')+numDc;
return num; // shawl.qiu script
}
Response.Write($num.formatNumber(3)+'<br/>');
%>

2. 效率测试

输出 10,000 次, 耗时 2797 毫秒.
输出 5,000 次, 耗时 1515 毫秒.
输出 2,000 次, 耗时 672 毫秒.
输出 1,000 次, 耗时 281 毫秒.
输出 500 次, 耗时 140 毫秒.
输出 100 次, 耗时 16 毫秒.



相关阅读:
Javascript 的addEventListener()及attachEvent()区别分析
php学习笔记之 函数声明(二)
通过Grub启动硬盘上的Linux ISO安装文件
ASP.NET获取远程网页下载到本地文件
DEDE二级域名(多站点)绑定详解
主流浏览器对于CSS3与HTML5的支持
在多个网页之间迅速实现前进或后退移动的简便方法
JavaScript打印页面去除页眉页脚
mysql 前几条记录语句之(limit)
jquery1.4后 jqDrag 拖动 不可用
超详细的sql2005图解安装全过程
详细讲解ASP检测文件编码的实现方法
10个未被充分利用或被误解的HTML标签
JavaScript 异步调用框架 (Part 2 - 用例设计)
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4