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 相关文章推荐
解决jQuery插件tipswindown与hintbox冲突
Nov 05 Javascript
在javascript中对于DOM的加强
Apr 11 Javascript
一个可以增加和删除行的table并可编辑表格中内容
Jun 16 Javascript
使用 jQuery.ajax 上传带文件的表单遇到的问题
Oct 31 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
Nov 21 Javascript
angularjs $http实现form表单提交示例
Jun 09 Javascript
收集前端面试题之url、href、src
Mar 22 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
Jun 01 Javascript
webpack4.x开发环境配置详解
Aug 04 Javascript
js常用正则表达式集锦
May 17 Javascript
使用Node.js在深度学习中做图片预处理的方法
Sep 18 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
Feb 07 Vue.js
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中使用Oracle数据库(3)
2006/10/09 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
PHP ajax 异步执行不等待执行结果的处理方法
2015/05/27 PHP
php实现阳历阴历互转的方法
2015/10/28 PHP
php中strlen和mb_strlen用法实例分析
2016/11/12 PHP
javascript 时间比较实现代码
2009/10/28 Javascript
jquery 读取页面load get post ajax 四种方式代码写法
2011/04/02 Javascript
js控制表单操作的常用代码小结
2013/08/15 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
javascript实现Email邮件显示与删除功能
2015/11/21 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
JavaScript队列、优先队列与循环队列
2016/11/14 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
使用jQuery给Table动态增加行、清空table的方法
2018/09/05 jQuery
javascript实现小型区块链功能
2019/04/03 Javascript
nuxt 实现在其它js文件中使用store的方式
2020/11/05 Javascript
Python新手入门最容易犯的错误总结
2017/04/24 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
解决python大批量读写.doc文件的问题
2018/05/08 Python
django的403/404/500错误自定义页面的配置方式
2020/05/21 Python
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
Html5游戏开发之乒乓Ping Pong游戏示例(三)
2013/01/21 HTML / CSS
英国知名的护肤彩妆与时尚配饰大型综合零售电商:Unineed
2016/11/21 全球购物
锐步英国官网:Reebok英国
2019/11/29 全球购物
学校读书活动总结
2014/06/30 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
2014年学校领导班子对照检查材料
2014/09/19 职场文书
银行求职信模板
2015/03/20 职场文书
2015年转正工作总结范文
2015/04/02 职场文书
会议主持词开场白
2015/05/28 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
趣味运动会简讯
2015/07/20 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers
浅谈css实现背景颜色半透明的两种方法
2021/12/06 HTML / CSS