当前位置: 首页 > 图文教程 > 网络编程 > Javascript > js prototype 格式化数字 By shawl.qiu

Javascript
滚动条代码生成器
NiftyCube:轻松实现圆角边框
懒就要懒到底:鼠标自动点击(含时间判断)
简单form标准化实例:语义结构
超清晰的document对象详解
用正则获取指定路径文件的名称
整理的比较不错的JavaScript的方法和技巧
求得div 下 img的src地址的js代码
js+css实现的仿office2003界面
一个不错的应用,用于提交获取文章内容,不推荐用
插件:检测javascript的内存泄漏
得到文本框选中的文字,动态插入文字的js代码
翻译整理的jQuery使用查询手册
一个的简易文本编辑器源码
HTML中不支持静态Expando的元素的问题
用CSS打造多彩文字链接
一个不错的用JavaScript实现的UBB编码函数
js实现的非常棒的绿色下拉透明菜单
优秀js开源框架-jQuery使用手册(1)
学习YUI.Ext第七日-View&JSONView Part Two-一个画室网站的案例

Javascript 中的 js prototype 格式化数字 By shawl.qiu


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 248 ::
收藏到网摘: n/a

说明:
最近打算把 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 毫秒.