js prototype 格式化数字 By shawl.qiu


Posted in Javascript onApril 02, 2007

说明:
最近打算把 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 相关文章推荐
javascript实现轮显新闻标题链接
Aug 13 Javascript
javascript克隆对象深度介绍
Nov 20 Javascript
javascript实现div的拖动并调整大小类似qq空间个性编辑模块
Dec 12 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
Jan 04 Javascript
微信小程序 视图容器组件的详解及实例代码
Jan 19 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
Feb 08 Javascript
jquery实现弹窗功能(窗口居中显示)
Feb 27 Javascript
全面解析vue中的数据双向绑定
May 10 Javascript
JS中准确判断变量类型的方法
Jun 01 Javascript
vue实现导航菜单和编辑文本的示例代码
Jul 04 Javascript
javascript前端实现多视频上传
Dec 13 Javascript
详解vue身份认证管理和租户管理
May 25 Vue.js
JXTree对象,读取外部xml文件数据,生成树的函数
Apr 02 #Javascript
新浪中用来显示flash的函数
Apr 02 #Javascript
我也种棵OO树JXTree[js+css+xml]
Apr 02 #Javascript
javascript中获取选中对象的类型
Apr 02 #Javascript
javascript实现动态增加删除表格行(兼容IE/FF)
Apr 02 #Javascript
在IE中调用javascript打开Excel的代码(downmoon原作)
Apr 02 #Javascript
在你的网页中嵌入外部网页的方法
Apr 02 #Javascript
You might like
BBS(php &amp; mysql)完整版(二)
2006/10/09 PHP
php实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
PHP中substr函数字符串截取用法分析
2016/01/07 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
JavaScript 在线压缩和格式化收藏
2009/01/16 Javascript
mysql输出数据赋给js变量报unterminated string literal错误原因
2010/05/22 Javascript
jQuery Mobile 导航栏代码
2013/11/01 Javascript
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
2014/06/07 Javascript
jquery实现未经美化的简洁TAB菜单效果
2015/08/28 Javascript
jQuery Html控件基本操作(日常收集整理)
2016/03/11 Javascript
Bootstrap开发实战之第一次接触Bootstrap
2016/06/02 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
JavaScript中三个等号和两个等号你了解多少
2017/07/04 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
基于bootstrap页面渲染的问题解决方法
2018/08/09 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
[04:52]2015国际邀请赛LGD战队晋级之路
2015/08/14 DOTA
[40:17]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第一场
2018/04/06 DOTA
Python判断Abundant Number的方法
2015/06/15 Python
python如何在终端里面显示一张图片
2016/08/17 Python
win7上python2.7连接mysql数据库的方法
2017/01/14 Python
python Flask 装饰器顺序问题解决
2018/08/08 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
python画图的函数用法以及技巧
2019/06/28 Python
python的命名规则知识点总结
2019/10/04 Python
如何将anaconda安装配置的mmdetection环境离线拷贝到另一台电脑
2020/10/15 Python
CSS3 仿微信聊天小气泡实例代码
2017/04/05 HTML / CSS
党支部换届选举方案
2014/05/08 职场文书
个人三严三实对照检查材料思想汇报
2014/09/22 职场文书
部门经理迟到检讨书
2015/02/16 职场文书
怎样写辞职信
2015/02/27 职场文书
2015年安康杯竞赛活动总结
2015/03/26 职场文书
redis使用不当导致应用卡死bug的过程解析
2021/07/01 Redis