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 相关文章推荐
javascript语句中的CDATA标签的意义
May 09 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
Jan 20 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
Mar 28 Javascript
Linux下编译安装php libevent扩展实例
Feb 14 Javascript
纯javascript制作日历控件
Jul 17 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
Jun 25 Javascript
js指定步长实现单方向匀速运动
Jul 17 Javascript
简单的vuex 的使用案例笔记
Apr 13 Javascript
Vue中使用 setTimeout() setInterval()函数的问题
Sep 13 Javascript
webpack之引入图片的实现及问题
Oct 08 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
Jun 10 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
May 01 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
yii2.0使用Plupload实现带缩放功能的多图上传
2015/12/22 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
基于jquery插件实现常见的幻灯片效果
2013/11/01 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)
2014/05/11 Javascript
input框中的name和id的区别
2016/11/16 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
JavaScript字符串对象
2017/01/14 Javascript
js return返回多个值,通过对象的属性访问方法
2017/02/21 Javascript
js css3实现图片拖拽效果
2017/03/04 Javascript
C#实现将一个字符转换为整数
2017/12/12 Javascript
Nodejs连接mysql并实现增、删、改、查操作的方法详解
2018/01/04 NodeJs
node.js中Buffer缓冲器的原理与使用方法分析
2019/11/23 Javascript
JavaScript undefined及null区别实例解析
2020/07/21 Javascript
Python多线程下载文件的方法
2015/07/10 Python
Python中import机制详解
2017/11/14 Python
Python装饰器(decorator)定义与用法详解
2018/02/09 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
Python中矩阵创建和矩阵运算方法
2018/08/04 Python
Python单向链表和双向链表原理与用法实例详解
2018/08/31 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
matplotlib实现热成像图colorbar和极坐标图的方法
2018/12/13 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
python 通过手机号识别出对应的微信性别(实例代码)
2019/12/22 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
django使用JWT保存用户登录信息
2020/04/22 Python
python实现不同数据库间数据同步功能
2021/02/25 Python
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
24个canvas基础知识小结
2014/12/17 HTML / CSS
俄罗斯在线服装店:STOLNIK
2021/03/07 全球购物
室内设计自我鉴定
2013/10/15 职场文书
护理职业生涯规划书
2014/01/24 职场文书
一年级学生评语
2014/04/23 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
大学军训通讯稿
2015/07/18 职场文书
golang中字符串MD5生成方式总结
2021/07/04 Golang