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 相关文章推荐
离开当前页面前使用js判断条件提示是否要离开页面
May 02 Javascript
浅谈JavaScript中的Math.atan()方法的使用
Jun 14 Javascript
基于JQuery实现图片轮播效果(焦点图)
Feb 02 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
Aug 17 Javascript
AngularJS实现在ng-Options加上index的解决方法
Nov 03 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
Jan 13 Javascript
JS实现的DIV块来回滚动效果示例
Feb 07 Javascript
JavaScript实现的选择排序算法实例分析
Apr 14 Javascript
Vuex 进阶之模块化组织详解
Jan 12 Javascript
浅谈vue后台管理系统权限控制思考与实践
Dec 19 Javascript
js实现旋转的星空效果
Nov 01 Javascript
NestJs使用Mongoose对MongoDB操作的方法
Feb 22 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
Oracle 常见问题解答
2006/10/09 PHP
php auth_http类库进行身份效验
2009/03/19 PHP
Thinkphp的volist标签嵌套循环使用教程
2014/07/08 PHP
主流PHP框架的优缺点对比分析
2014/12/25 PHP
PHP中的一些常用函数收集
2015/05/26 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
jQuery中获取checkbox选中项等操作及注意事项
2013/11/24 Javascript
jquery统计输入文字的个数并对其进行判断
2014/01/07 Javascript
Firefox下无法正常显示年份的解决方法
2014/09/04 Javascript
JS动态修改表格cellPadding和cellSpacing的方法
2015/03/31 Javascript
第九篇Bootstrap导航菜单创建步骤详解
2016/06/21 Javascript
Highcharts入门之简介
2016/08/02 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
layui 设置table 行的高度方法
2018/08/17 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
JS监听事件的叠加和移除功能
2018/11/19 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
Python splitlines使用技巧
2008/09/06 Python
python读写二进制文件的方法
2015/05/09 Python
Python第三方库的几种安装方式(小结)
2020/04/03 Python
Python中使用filter过滤列表的一个小技巧分享
2020/05/02 Python
今天学到的CSS最新技术(与图片背景相关)
2012/12/24 HTML / CSS
英国床垫和床架购物网站:Bedman
2019/11/04 全球购物
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
统计每一学生的平均成绩
2014/06/06 面试题
社区优秀志愿者材料
2014/02/02 职场文书
水利公司纪检监察自我鉴定
2014/02/25 职场文书
生日宴会主持词
2014/03/20 职场文书
企业安全生产目标责任书
2014/07/23 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
2015年收银工作总结范文
2015/04/01 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python
Python中Selenium对Cookie的操作方法
2021/07/09 Python
Vue自定义铃声提示音组件的实现
2022/01/22 Vue.js