js格式化金额可选是否带千分位以及保留精度


Posted in Javascript onJanuary 28, 2014

js格式化金额,可选是否带千分位,可选保留精度,也是网上搜到的,但是使用没问题

/* 
将数值四舍五入后格式化. 
@param num 数值(Number或者String) 
@param cent 要保留的小数位(Number) 
@param isThousand 是否需要千分位 0:不需要,1:需要(数值类型); 
@return 格式的字符串,如'1,234,567.45' 
@type String 
*/ 
function formatNumber(num,cent,isThousand){ 
num = num.toString().replace(/\$|\,/g,''); 
if(isNaN(num))//检查传入数值为数值类型. 
num = "0"; 
if(isNaN(cent))//确保传入小数位为数值型数值. 
cent = 0; 
cent = parseInt(cent); 
cent = Math.abs(cent);//求出小数位数,确保为正整数. 
if(isNaN(isThousand))//确保传入是否需要千分位为数值类型. 
isThousand = 0; 
isThousand = parseInt(isThousand); 
if(isThousand < 0) 
isThousand = 0; 
if(isThousand >=1) //确保传入的数值只为0或1 
isThousand = 1; 
sign = (num == (num = Math.abs(num)));//获取符号(正/负数) 
//Math.floor:返回小于等于其数值参数的最大整数 
num = Math.floor(num*Math.pow(10,cent)+0.50000000001);//把指定的小数位先转换成整数.多余的小数位四舍五入. 
cents = num%Math.pow(10,cent); //求出小数位数值. 
num = Math.floor(num/Math.pow(10,cent)).toString();//求出整数位数值. 
cents = cents.toString();//把小数位转换成字符串,以便求小数位长度. 
while(cents.length<cent){//补足小数位到指定的位数. 
cents = "0" + cents; 
} 
if(isThousand == 0) //不需要千分位符. 
return (((sign)?'':'-') + num + '.' + cents); 
//对整数部分进行千分位格式化. 
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++) 
num = num.substring(0,num.length-(4*i+3))+','+ 
num.substring(num.length-(4*i+3)); 
return (((sign)?'':'-') + num + '.' + cents); 
}
Javascript 相关文章推荐
function, new function, new Function之间的区别
Mar 08 Javascript
jQuery 表单验证扩展代码(二)
Oct 20 Javascript
JavaScript实现向右伸出的多级网页菜单效果
Aug 25 Javascript
win7下安装配置node.js+express开发环境
Dec 06 Javascript
javascript如何写热点图
Dec 08 Javascript
javascript实现在网页中运行本地程序的方法
Feb 03 Javascript
JavaScript中使用数组方法汇总
Feb 16 Javascript
AngularJs表单验证实例详解
May 30 Javascript
bootstrap模态框关闭后清除模态框的数据方法
Aug 10 Javascript
详解puppeteer使用代理
Dec 27 Javascript
JavaScript中的this原理及6种常见使用场景详解
Feb 14 Javascript
jQuery cookie的公共方法封装和使用示例
Jun 01 jQuery
js关于精确计算和数值格式化以及直接引js文件
Jan 28 #Javascript
键盘上一张下一张兼容IE/google/firefox等浏览器
Jan 28 #Javascript
调用innerHTML之后onclick失效问题的解决方法
Jan 28 #Javascript
JS判断两个时间大小的示例代码
Jan 28 #Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
Jan 28 #Javascript
js中哈希表的几种用法总结
Jan 28 #Javascript
js日期对象兼容性的处理方法
Jan 28 #Javascript
You might like
用定制的PHP应用程序来获取Web服务器的状态信息
2006/10/09 PHP
PHP MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
php压缩HTML函数轻松实现压缩html/js/Css及注意事项
2013/01/27 PHP
使用swoole扩展php websocket示例
2014/02/13 PHP
PHP动态编译出现Cannot find autoconf的解决方法
2014/11/05 PHP
Symfony2函数用法实例分析
2016/03/18 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
php实现分页功能的详细实例方法
2019/09/29 PHP
Google排名中的10个最著名的 JavaScript库
2010/04/27 Javascript
js不完美解决click和dblclick事件冲突问题
2012/07/16 Javascript
手写的一个兼容各种浏览器的javascript getStyle函数(获取元素的样式)
2014/06/06 Javascript
jQuery中unbind()方法用法实例
2015/01/19 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
常用的js方法合集
2017/03/10 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
Vue修改项目启动端口号方法
2019/11/07 Javascript
python对html代码进行escape编码的方法
2015/05/04 Python
Python的组合模式与责任链模式编程示例
2016/02/02 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
python实现根据文件格式分类
2019/10/31 Python
python中round函数如何使用
2020/06/19 Python
PyTorch安装与基本使用详解
2020/08/31 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
2014年建筑工作总结
2014/11/26 职场文书
2014年房产经纪人工作总结
2014/12/08 职场文书
工作保证书
2015/01/17 职场文书
办公室主任岗位职责范本
2015/03/31 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
Nginx 配置 HTTPS的详细过程
2022/05/30 Servers
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python
JavaScript实现音乐播放器
2022/08/14 Javascript