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 相关文章推荐
DOMAssitant最新版 DOMAssistant 2.5发布
Dec 25 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
Dec 10 Javascript
js 模式窗口(模式对话框和非模式对话框)的使用介绍
Jul 17 Javascript
Javascript基础教程之关键字和保留字汇总
Jan 18 Javascript
深入解析JavaScript中的arguments对象
Jun 12 Javascript
微信小程序 地图map实例详解
Jun 07 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
Dec 23 Javascript
JavaScript实现获取select下拉框中第一个值的方法
Feb 06 Javascript
在vue项目中使用Jquery-contextmenu插件的步骤讲解
Jan 27 jQuery
Vue.js 中的实用工具方法【推荐】
Jul 04 Javascript
AntV F2和vue-cli构建移动端可视化视图过程详解
Oct 08 Javascript
vue 解决兄弟组件、跨组件深层次的通信操作
Jul 27 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 获取当前访问的url文件名的方法小结
2010/02/08 PHP
8个PHP程序员常用的功能汇总
2014/12/18 PHP
PHP中的socket_read和socket_recv区别详解
2015/02/09 PHP
php常用正则函数实例小结
2016/12/29 PHP
PHP实现给定一列字符,生成指定长度的所有可能组合示例
2019/06/22 PHP
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
jQuery简单实现隐藏以及显示特效
2015/02/26 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
AngularJS控制器详解及示例代码
2016/08/16 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
Underscore之Array_动力节点Java学院整理
2017/07/10 Javascript
ES6学习之变量的两种命名方法示例
2017/07/18 Javascript
通过示例彻底搞懂js闭包
2017/08/10 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
vue组件通信传值操作示例
2019/01/08 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
layui动态加载多表头的实例
2019/09/05 Javascript
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
2019/11/14 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
Vue.js使用axios动态获取response里的data数据操作
2020/09/08 Javascript
适用于 Vue 的播放器组件Vue-Video-Player操作
2020/11/16 Javascript
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
Python打包可执行文件的方法详解
2016/09/19 Python
nohup后台启动Python脚本,log不刷新的解决方法
2019/01/14 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
Pytorch1.5.1版本安装的方法步骤
2020/12/31 Python
python实现图片转字符画
2021/02/19 Python
is_file和file_exists效率比较
2021/03/14 PHP
Html5 audio标签样式的修改
2016/01/28 HTML / CSS
商得四方公司面试题(gid+)
2014/04/30 面试题
试用期转正后的自我评价
2014/09/21 职场文书
数学教师求职信范文
2015/03/20 职场文书
初中语文教学研修日志
2015/11/13 职场文书
Go语言安装并操作redis的go-redis库
2022/04/14 Golang