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 相关文章推荐
多广告投放代码 推荐
Nov 13 Javascript
JQuery EasyUI 对话框的使用方法
Oct 24 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
Sep 26 Javascript
浅谈jquery回调函数callback的使用
Jan 30 Javascript
JavaScript中日期的相关操作方法总结
Oct 24 Javascript
jquery模拟实现鼠标指针停止运动事件
Jan 12 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
Aug 03 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
Jan 23 Javascript
Three.js入门之hello world以及如何绘制线
Sep 25 Javascript
微信小程序实现跑马灯效果
Oct 21 Javascript
bootstrap实现tab选项卡切换
Aug 09 Javascript
js前端图片加载异常兜底方案
Jun 21 Javascript
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
终于听上了直流胆调频
2021/03/02 无线电
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
2014/06/26 PHP
php简单防盗链实现方法
2015/07/29 PHP
PHP var关键字相关原理及使用实例解析
2020/07/11 PHP
javascript与CSS复习(二)
2010/06/29 Javascript
基于 Docker 开发 NodeJS 应用
2014/07/30 NodeJs
javascript中parseInt()函数的定义和用法分析
2014/12/20 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
JS仿百度自动下拉框模糊匹配提示
2016/07/25 Javascript
JQuery 封装 Ajax 常用方法(推荐)
2017/05/21 jQuery
详解webpack模块化管理和打包工具
2018/04/21 Javascript
JavaScript事件发布/订阅模式原理与用法分析
2018/08/21 Javascript
NodeJS读取分析Nginx错误日志的方法
2019/05/14 NodeJs
微信小程序3D轮播实现代码
2019/09/19 Javascript
LayUi数据表格自定义赋值方式
2019/10/26 Javascript
微信小程序修改数组长度的问题的解决
2019/12/17 Javascript
[14:03]2017DOTA2亚洲邀请赛开幕式:12神兵演绎水墨中华
2017/04/01 DOTA
[30:37]【全国守擂赛】第三周擂主赛 Dark Knight vs. Leopard Gaming
2020/05/04 DOTA
详解Python中find()方法的使用
2015/05/18 Python
Python使用plotly绘制数据图表的方法
2017/07/18 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
2019/01/02 Python
Django之模型层多表操作的实现
2019/01/08 Python
python删除列表元素的三种方法(remove,pop,del)
2019/07/22 Python
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
恶意软件的定义
2014/11/12 面试题
护士见习期自我鉴定
2014/02/08 职场文书
行政主管职责范本
2014/03/07 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
岗位职责说明书
2014/05/07 职场文书
个人股份合作协议书
2014/10/24 职场文书
护士自我推荐信范文
2015/03/24 职场文书
北京青年观后感
2015/06/15 职场文书
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js
使用pandas生成/读取csv文件的方法实例
2021/07/09 Python
ant design charts 获取后端接口数据展示
2022/05/25 Javascript