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 函数速查表
Feb 07 Javascript
整理一些JavaScript的IE和火狐的兼容性注意事项
Mar 17 Javascript
修改jQuery Validation里默认的验证方法
Feb 14 Javascript
js Object2String方便查看js对象内容
Nov 24 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
Dec 01 Javascript
微信小程序 教程之引用
Oct 18 Javascript
从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
Apr 13 Javascript
微信小程序图片自适应支持多图实例详解
Jun 21 Javascript
vue生成文件本地打开查看效果的实例
Sep 06 Javascript
Vue循环组件加validate多表单验证的实例
Sep 18 Javascript
js实现橱窗展示效果
Jan 11 Javascript
js实现网页随机验证码
Oct 19 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调用dll的实例操作动画与代码分享
2012/08/14 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
php中stream(流)的用法
2014/03/25 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
JavaScript获得选中文本内容的方法
2008/12/02 Javascript
ExtJS 设置级联菜单的默认值
2010/06/13 Javascript
js获取元素在浏览器中的绝对位置
2010/07/24 Javascript
jQuery快速上手:写jQuery与直接写JS的区别详细解析
2013/08/26 Javascript
三种检测iPhone/iPad设备方向的方法
2014/04/23 Javascript
在JS数组特定索引处指定位置插入元素
2014/07/27 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
2014/09/10 Javascript
jQuery获取radio选中项的值实例
2016/06/18 Javascript
canvas实现十二星座星空图
2017/02/14 Javascript
基于JavaScript实现滑动门效果
2017/03/16 Javascript
Angularjs 双向绑定时字符串的转换成数字类型的问题
2017/06/12 Javascript
Vue工程模板文件 webpack打包配置方法
2017/12/26 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
2018/04/23 Javascript
Vue常用指令详解分析
2018/08/19 Javascript
koa-router源码学习小结
2018/09/07 Javascript
js比较两个单独的数组或对象是否相等的实例代码
2019/04/28 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
2021/02/04 jQuery
[00:55]2015国际邀请赛中国区预选赛5月23日——28日约战上海
2015/05/25 DOTA
Numpy中矩阵matrix读取一列的方法及数组和矩阵的相互转换实例
2018/07/02 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
Paul’s Boutique官网:英国时尚手袋品牌
2018/03/31 全球购物
德国大型箱包和皮具商店:Koffer
2019/10/01 全球购物
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
安全检查验收制度
2014/01/12 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
工作表扬信范文
2015/01/17 职场文书
党支部培养考察意见
2015/06/02 职场文书
Mysql官方性能测试工具mysqlslap的使用简介
2021/05/21 MySQL