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 相关文章推荐
jQuery 处理表单元素的代码
Feb 15 Javascript
javascript 数据类型转换(parseInt,parseFloat)
Jul 20 Javascript
js同比例缩放图片的小例子
Oct 30 Javascript
js实现仿微博滚动显示信息的效果
Dec 21 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
Jan 29 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
Apr 08 Javascript
JavaScript中省略元素对数组长度的影响
Oct 26 Javascript
angular中实现li或者某个元素点击变色的两种方法
Jul 27 Javascript
javascript 中事件冒泡和事件捕获机制的详解
Sep 01 Javascript
关于laydate.js加载laydate.css路径错误问题解决
Dec 27 Javascript
12个提高JavaScript技能的概念(小结)
May 09 Javascript
微信小程序环境下将文件上传到OSS的方法步骤
May 31 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
Yii使用smsto短信接口的函数demo示例
2016/07/13 PHP
浅谈PHP面向对象之访问者模式+组合模式
2017/05/22 PHP
JS 面向对象的5钟写法
2009/07/31 Javascript
JavaScript实现三阶幻方算法谜题解答
2014/12/29 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
javaScript中Math()函数注意事项
2015/06/18 Javascript
js实现的简单radio背景颜色选择器代码
2015/08/18 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
bootstrap响应式表格实例详解
2017/05/15 Javascript
Vue和Bootstrap的整合思路详解
2017/06/30 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
2017/10/26 jQuery
浅谈react-router@4.0 使用方法和源码分析
2019/06/04 Javascript
利用Angular7开发一个Radio组件的全过程
2019/07/11 Javascript
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
Python中使用摄像头实现简单的延时摄影技术
2015/03/27 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
2016/01/16 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
详解python中的 is 操作符
2017/12/26 Python
python3实现SMTP发送邮件详细教程
2018/06/19 Python
Python线性拟合实现函数与用法示例
2018/12/13 Python
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
Python使用Slider组件实现调整曲线参数功能示例
2019/09/06 Python
python GUI框架pyqt5 对图片进行流式布局的方法(瀑布流flowlayout)
2020/03/12 Python
python3 正则表达式基础廖雪峰
2020/03/25 Python
韩国现代百货官网:Hmall
2018/03/21 全球购物
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
GWT都有什么特性
2016/12/02 面试题
创先争优承诺书范文
2014/03/31 职场文书
副乡长群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
2015年政教主任工作总结
2015/07/23 职场文书
事业单位工作人员岗前培训心得体会
2016/01/08 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python
帮你提高开发效率的JavaScript20个技巧
2021/06/18 Javascript
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python
Python matplotlib绘制条形统计图 处理多个实验多组观测值
2022/04/21 Python