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 相关文章推荐
表单的一些基本用法与技巧
Jul 15 Javascript
In Javascript Class, how to call the prototype method.(three method)
Jan 09 Javascript
ExtJS GridPanel 根据条件改变字体颜色
Mar 08 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
Oct 11 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
Dec 28 Javascript
window.location.href IE下跳转失效的解决方法
Mar 27 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
javascript+html5实现绘制圆环的方法
Jul 28 Javascript
JQuery遍历元素的后代和同胞实现方法
Sep 18 Javascript
JavaScript模块化之使用requireJS按需加载
Apr 12 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
Oct 17 Javascript
Vue底层实现原理总结
Feb 17 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
PHP开发文件系统实例讲解
2006/10/09 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
2011/11/23 PHP
基于PHP的简单采集数据入库程序【续篇】
2014/07/30 PHP
PHP中大括号'{}'用法实例总结
2017/02/08 PHP
javascript弹出页面回传值的方法
2015/01/28 Javascript
js完美实现@提到好友特效(兼容各大浏览器)
2015/03/16 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
node.js实现端口转发
2016/04/14 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
浅谈js控制li标签排序问题 js调用php函数的方法
2016/10/16 Javascript
浅谈js原生拖放
2016/11/21 Javascript
详解javascript中的babel到底是什么
2018/06/21 Javascript
Vue分页器实现原理详解
2019/06/28 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
如何在Vue中抽离接口配置文件
2019/10/31 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
2020/01/12 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
[01:07:47]Secret vs Optic Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
python保存文件方法小结
2018/07/27 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
python中sort和sorted排序的实例方法
2019/08/26 Python
Python标准库json模块和pickle模块使用详解
2020/03/10 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
通过css3的filter滤镜改变png图片的颜色的示例代码
2020/05/06 HTML / CSS
CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码
2020/11/30 HTML / CSS
让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)
2014/04/08 HTML / CSS
LINUX下线程,GDI类的解释
2012/04/17 面试题
高中生自我鉴定范文
2013/10/30 职场文书
2014年高考决心书
2014/03/11 职场文书
家属答谢词
2015/01/05 职场文书
圆明园观后感
2015/06/03 职场文书
python自动化测试之Selenium详解
2022/03/13 Python