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制作滚动到指定位置触发动画
Mar 26 Javascript
总结JavaScript设计模式编程中的享元模式使用
May 21 Javascript
浅述Javascript的外部对象
Dec 07 Javascript
EditPlus 正则表达式 实战(3)
Dec 15 Javascript
两种简单的跨域方法(jsonp、php)
Jan 02 Javascript
Node.js 中exports 和 module.exports 的区别
Mar 14 Javascript
php 修改密码实现代码
May 24 Javascript
Vue官方文档梳理之全局配置
Nov 22 Javascript
JS中offset和匀速动画详解
Feb 06 Javascript
webpack-dev-server远程访问配置方法
Feb 22 Javascript
element-ui 本地化使用教程详解
Oct 28 Javascript
js 将多个对象合并成一个对象 assign方法的实现
Sep 24 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
资料注册后发信小技巧
2006/10/09 PHP
九个你必须知道而且又很好用的php函数和特点
2013/08/08 PHP
静态的动态续篇之来点XML
2006/12/23 Javascript
[IE&amp;FireFox兼容]JS对select操作
2007/01/07 Javascript
JS使用replace()方法和正则表达式进行字符串的搜索与替换实例
2014/04/10 Javascript
bootstrap switch开关组件使用方法详解
2017/08/22 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
JavaScript中为事件指定处理程序的五种方式分析
2018/07/27 Javascript
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
js数组相减简单示例【删除a数组所有与b数组相同元素】
2020/03/04 Javascript
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
windows下python模拟鼠标点击和键盘输示例
2014/02/28 Python
通过数据库向Django模型添加字段的示例
2015/07/21 Python
Python正则抓取网易新闻的方法示例
2017/04/21 Python
利用python求解物理学中的双弹簧质能系统详解
2017/09/29 Python
Python字典操作详细介绍及字典内建方法分享
2018/01/04 Python
Python函数返回不定数量的值方法
2019/01/22 Python
Django自定义用户登录认证示例代码
2019/06/30 Python
python实现大文本文件分割
2019/07/22 Python
python将数组n等分的实例
2019/12/02 Python
详解python opencv、scikit-image和PIL图像处理库比较
2019/12/26 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
Python自动创建Excel并获取内容
2020/09/16 Python
Python中Pyspider爬虫框架的基本使用详解
2021/01/27 Python
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
浅析HTML5 meta viewport参数
2020/10/28 HTML / CSS
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
美国家居装饰店:Pier 1
2019/09/04 全球购物
.NET里面什么时候需要调用垃圾回收
2015/06/01 面试题
和谐社区口号
2014/06/19 职场文书
好的旅游活动方案
2014/08/19 职场文书
大学毕业论文致谢词
2015/05/14 职场文书
画展观后感
2015/06/17 职场文书
追悼会悼词大全
2015/06/23 职场文书
JS数组方法some、every和find的使用详情
2021/10/05 Javascript