js prototype 格式化数字 By shawl.qiu

风俊才子真实哥

风俊才子真实哥

2016-02-19 10:03

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享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 毫秒. 
展开更多 50%)
分享

猜你喜欢

js prototype 格式化数字 By shawl.qiu

Web开发
js prototype 格式化数字 By shawl.qiu

格式化数字函数FormatNumber

ASP
格式化数字函数FormatNumber

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

JS代码的格式化和压缩

Web开发
JS代码的格式化和压缩

如何格式化软碟?

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
如何格式化软碟?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

“磁盘未被格式化,是否格式化”的解决方法

电脑入门
“磁盘未被格式化,是否格式化”的解决方法

DiskGenius如何格式化分区(快速格式化)

电脑网络
DiskGenius如何格式化分区(快速格式化)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

IdeaPad U410显卡驱动无法安装的解决方案

IdeaPad U410显卡驱动无法安装的解决方案

JS Common 2 之比较常用到的函数

JS Common 2 之比较常用到的函数
下拉加载更多内容 ↓