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 相关文章推荐
Javascript miscellanea -display data real time, using window.status
Jan 09 Javascript
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
Sep 26 Javascript
JavaScript 和 Java 的区别浅析
Jul 31 Javascript
如何在指定的地方插入html内容和文本内容
Dec 23 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
Nov 20 Javascript
必备的JS调试技巧汇总
Jul 20 Javascript
AngularJs bootstrap搭载前台框架——准备工作
Sep 01 Javascript
vue.js利用Object.defineProperty实现双向绑定
Mar 09 Javascript
Vue学习笔记之表单输入控件绑定
Sep 05 Javascript
vue中的计算属性实例详解
Sep 19 Javascript
用element的upload组件实现多图片上传和压缩的示例代码
Feb 12 Javascript
详解JS浏览器事件循环机制
Mar 27 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
Protoss热键控制
2020/03/14 星际争霸
codeigniter发送邮件并打印调试信息的方法
2015/03/21 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
2020/07/08 PHP
jquery创建div 实现代码
2009/04/27 Javascript
jQuery 剧场版 你必须知道的javascript
2009/05/27 Javascript
jQuery登陆判断简单实现代码
2013/04/21 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
jQuery.extend()的实现方式详解及实例
2013/06/29 Javascript
如何在父窗口中得知window.open()出的子窗口关闭事件
2013/10/15 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
jquery自动填充勾选框即把勾选框打上true
2014/03/24 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
JS使用for循环遍历Table的所有单元格内容
2014/08/21 Javascript
jQuery验证插件validate使用方法详解
2020/09/13 Javascript
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
jQuery取得元素标签名称小结(附代码)
2017/08/16 jQuery
js实现canvas图片与img图片的相互转换的示例
2017/08/31 Javascript
jQuery实现基本隐藏与显示效果的方法详解
2018/09/05 jQuery
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
微信小程序之导航滑块视图容器功能的实现代码(简单两步)
2020/06/19 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
2020/10/31 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
Python中的defaultdict与__missing__()使用介绍
2018/02/03 Python
Python异常处理操作实例详解
2018/08/28 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
python中下标和切片的使用方法解析
2019/08/27 Python
Python warning警告出现的原因及忽略方法
2020/01/31 Python
HTML5实现分享到微信好友朋友圈QQ好友QQ空间微博二维码功能
2018/01/03 HTML / CSS
浅谈基于Canvas的手绘风格图形库Rough.js
2018/03/19 HTML / CSS
献爱心倡议书
2014/04/14 职场文书
计算机专业毕业生自荐书
2014/06/02 职场文书
2014年化验员工作总结
2014/11/18 职场文书
保护地球的宣传语
2015/07/13 职场文书
教育教学工作反思
2016/02/24 职场文书