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模拟地球旋转效果代码实例
Dec 02 Javascript
jQuery对Select的操作大集合(收藏)
Dec 28 Javascript
javascript发送短信验证码实现代码
Nov 12 Javascript
基于jquery实现弹幕效果
Sep 29 Javascript
使用JS读取XML文件的方法
Nov 25 Javascript
JS新包管理工具yarn和npm的对比与使用入门
Dec 09 Javascript
微信小程序商城项目之商品属性分类(4)
Apr 17 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
Jul 13 Javascript
jQuery轮播图实例详解
Aug 15 jQuery
jQuery基于随机数解决中午吃什么去哪吃问题示例
Dec 29 jQuery
微信小程序实现收货地址左滑删除
Nov 18 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
Dec 16 Javascript
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
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
2013/05/07 Javascript
jQuery修改class属性和CSS样式整理
2015/01/30 Javascript
javascript实现Table排序的方法
2015/05/15 Javascript
JavaScript实现页面跳转的几种常用方式
2015/11/28 Javascript
JavaScript驾驭网页-CSS与DOM
2016/03/24 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
分析JS中this引发的bug
2017/12/12 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
微信小程序js文件改变参数并在视图上及时更新【推荐】
2018/06/11 Javascript
Vue源码解析之数组变异的实现
2018/12/04 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
2019/02/26 Javascript
在vue-cli中引入lodash.js并使用详解
2019/11/13 Javascript
浅谈vue项目,访问路径#号的问题
2020/08/14 Javascript
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
2016/04/20 Python
Python的shutil模块中文件的复制操作函数详解
2016/07/05 Python
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
教你用Python创建微信聊天机器人
2020/03/31 Python
用Python3创建httpServer的简单方法
2018/06/04 Python
python使用matplotlib库生成随机漫步图
2018/08/27 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
2020/02/29 Python
Python turtle库的画笔控制说明
2020/06/28 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
python 如何调用远程接口
2020/09/11 Python
HTML5语音识别标签写法附图
2013/11/18 HTML / CSS
RetroStage德国:复古服装
2019/02/03 全球购物
护理专业毕业生自我鉴定
2013/10/08 职场文书
音乐专业应届生教师求职信
2013/11/04 职场文书
高中微机老师自我鉴定
2014/02/16 职场文书
股东授权委托书
2014/10/15 职场文书
党的群众路线教育实践活动心得体会(企业)
2014/11/03 职场文书
帝企鹅日记观后感
2015/06/10 职场文书
Django REST framework 限流功能的使用
2021/06/24 Python
Android Flutter实现3D动画效果示例详解
2022/04/07 Java/Android