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 相关文章推荐
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
Jan 11 Javascript
jquery中对表单的基本操作代码
Jul 29 Javascript
5个最佳的Javascript日期处理类库分享
Apr 15 Javascript
js 将json字符串转换为json对象的方法解析
Nov 13 Javascript
关于JS中的apply,call,bind的深入解析
Apr 05 Javascript
[原创]JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】
Nov 01 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
Nov 29 Javascript
教你一步步用jQyery实现轮播器
Dec 18 Javascript
js实现百度搜索提示框
Feb 05 Javascript
微信小程序授权获取用户详细信息openid的实例详解
Sep 20 Javascript
React+TypeScript+webpack4多入口配置详解
Aug 08 Javascript
JavaScript常用工具函数库汇总
Sep 17 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学习教程之第1天
2008/06/15 PHP
ajax php传递和接收变量实现思路及代码
2012/12/19 PHP
yii2.0之GridView自定义按钮和链接用法
2014/12/15 PHP
PHP SESSION跨页面传递失败解决方案
2020/12/11 PHP
javascript CSS画图之基础篇
2009/07/29 Javascript
ModelDialog JavaScript模态对话框类代码
2011/04/17 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
2013/04/18 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
2014/01/11 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
2015/03/04 Javascript
纯js实现无限空间大小的本地存储
2015/06/18 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
xmlplus组件设计系列之分隔框(DividedBox)(8)
2017/05/02 Javascript
详解如何构建Angular项目目录结构
2017/07/13 Javascript
VUE饿了么树形控件添加增删改功能的示例代码
2017/10/17 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
webpack 插件html-webpack-plugin的具体使用
2018/04/09 Javascript
如何检查一个对象是否为空
2019/04/11 Javascript
微信小程序实现3D轮播图效果(非swiper组件)
2019/09/21 Javascript
Vuex中的Mutations的具体使用方法
2020/06/01 Javascript
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
[01:02:54]完美世界DOTA2联赛PWL S2 FTD vs GXR 第一场 11.22
2020/11/26 DOTA
布同 Python中文问题解决方法(总结了多位前人经验,初学者必看)
2011/03/13 Python
python opencv实现运动检测
2018/07/10 Python
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
Gap英国官网:Gap UK
2018/07/18 全球购物
什么是索引指示器
2012/08/20 面试题
explicit和implicit的含义
2012/11/15 面试题
法律专业个人实习自我鉴定
2013/09/23 职场文书
司机辞职报告范文
2014/01/20 职场文书
幼儿园家长评语
2014/02/10 职场文书
2014年纪委工作总结
2014/12/05 职场文书
企业法人任命书
2015/09/21 职场文书
2019自荐信该如何写呢?
2019/07/05 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android