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语法着色引擎(demo及打包文件下载)
Jun 13 Javascript
jQuery EasyUI API 中文文档 - Pagination分页
Sep 29 Javascript
JavaScript中的连字符详解
Nov 28 Javascript
jquery进行数组遍历如何跳出当前的each循环
Jun 05 Javascript
详解JavaScript中this关键字的用法
May 26 Javascript
Js 获取当前函数参数对象的实现代码
Jun 20 Javascript
JavaScript仿百度图片浏览效果
Nov 23 Javascript
浅谈js数组和splice的用法
Dec 04 Javascript
详解vue-router2.0动态路由获取参数
Jun 14 Javascript
浅谈React的最大亮点之虚拟DOM
May 29 Javascript
浅谈Vue页面级缓存解决方案feb-alive(上)
Apr 14 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
Apr 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程序--记数器
2006/10/09 PHP
ThinkPHP模板判断输出Present标签用法详解
2014/06/30 PHP
php基础教程
2015/08/26 PHP
thinkPHP显示不出验证码的原因与解决方法分析
2017/05/20 PHP
Display SQL Server Login Mode
2007/06/21 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
js实现textarea限制输入字数
2017/02/13 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
详解Ubuntu安装angular-cli遇到的坑
2018/09/08 Javascript
ES6基础之解构赋值(destructuring assignment)
2019/02/21 Javascript
js的继承方法小结(prototype、call、apply)(推荐)
2019/04/17 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
在vue-cli3.0 中使用预处理器 (Sass/Less/Stylus) 配置全局变量操作
2020/08/10 Javascript
VsCode里的Vue模板的实现
2020/08/12 Javascript
vue实现滚动鼠标滚轮切换页面
2020/12/13 Vue.js
[06:21]2014DOTA2国际邀请赛 庆祝VG首阶段领跑;B叔为挣牛排半夜整理情报
2014/07/13 DOTA
python检测lvs real server状态
2014/01/22 Python
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
python执行子进程实现进程间通信的方法
2015/06/02 Python
Python中在脚本中引用其他文件函数的实现方法
2016/06/23 Python
Python遍历文件夹和读写文件的实现方法
2017/05/10 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
PyQt5每天必学之像素图控件QPixmap
2018/04/19 Python
python爬虫实例详解
2018/06/19 Python
浅谈pytorch和Numpy的区别以及相互转换方法
2018/07/26 Python
Python 实现顺序高斯消元法示例
2019/12/09 Python
Django model class Meta原理解析
2020/11/14 Python
迪卡侬印尼体育用品商店:Decathlon印尼
2020/03/11 全球购物
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
市三好学生主要事迹
2014/01/28 职场文书
民事和解协议书格式
2014/11/29 职场文书
四年级学生期末评语
2014/12/26 职场文书
撤诉状格式范本
2015/05/19 职场文书
解决mysql模糊查询索引失效问题的几种方法
2021/06/18 MySQL