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 相关文章推荐
判断脚本加载是否完成的方法
May 26 Javascript
js 金额文本框实现代码
Feb 14 Javascript
js实现上传图片之上传前预览图片
Mar 25 Javascript
js中substring和substr的详细介绍与用法
Aug 29 Javascript
Eclipse去除js(JavaScript)验证错误
Feb 11 Javascript
JavaScript面向对象的实现方法小结
Apr 14 Javascript
javascript中attachEvent用法实例分析
May 14 Javascript
JS制作手机端自适应缩放显示
Jun 11 Javascript
AngularJS单选框及多选框实现双向动态绑定
Jan 13 Javascript
JS函数的定义与调用方法推荐
May 12 Javascript
vue cli3 配置proxy代理无效的解决
Oct 30 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
Jul 30 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
php数组添加元素方法小结
2014/12/20 PHP
Yii使用技巧大汇总
2015/12/29 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
jQuery EasyUI API 中文文档 - DataGrid数据表格
2011/11/17 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
父节点获取子节点的字符串示例代码
2014/02/26 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
基于javascript实现listbox左右移动
2016/01/29 Javascript
js实现各种复制到剪贴板的方法(分享)
2016/10/27 Javascript
JavaScript中的普通函数和箭头函数的区别和用法详解
2017/03/21 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
2018/09/15 Javascript
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
jQuery 选择方法及$(this)用法实例分析
2020/05/19 jQuery
原生JS实现无缝轮播图片
2020/06/24 Javascript
python实现ip代理池功能示例
2019/07/05 Python
运用PyTorch动手搭建一个共享单车预测器
2019/08/06 Python
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
Canvas实现贝赛尔曲线轨迹动画的示例代码
2019/04/25 HTML / CSS
HTML5 Blob对象的具体使用
2020/05/22 HTML / CSS
EGO Shoes美国/加拿大:英国时髦鞋类品牌
2018/08/04 全球购物
Airbnb爱彼迎官网:成为爱彼迎房东,赚取收入
2019/03/14 全球购物
Paper Cape官网:美国婴儿和儿童服装品牌
2019/11/02 全球购物
购买正版游戏和游戏激活码:Green Man Gaming
2019/11/06 全球购物
星级党支部申报材料
2014/05/31 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
2014年药店店长工作总结
2014/11/17 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书
python通过opencv调用摄像头操作实例分析
2021/06/07 Python
详解Java ES多节点任务的高效分发与收集实现
2021/06/30 Java/Android
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL
Oracle中日期的使用方法实例
2022/07/07 Oracle