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实现des解密加密全过程
Apr 03 Javascript
Jquery 实现checkbox全选方法
Jan 28 Javascript
js实现点击按钮后给Div图层设置随机背景颜色的方法
May 06 Javascript
js+html5通过canvas指定开始和结束点绘制线条的方法
Jun 05 Javascript
使用jquery实现仿百度自动补全特效
Jul 23 Javascript
AngularJS实现标签页的两种方式
Sep 05 Javascript
jquery 动态增加删除行的简单实例(推荐)
Oct 12 Javascript
详解ES6中的代理模式——Proxy
Jan 08 Javascript
vue路由懒加载的实现方法
Mar 12 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
Aug 22 Javascript
微信小程序HTTP接口请求封装的实现
Feb 21 Javascript
微信小程序使用echarts获取数据并生成折线图
Oct 16 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网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
php操作XML、读取数据和写入数据的实现代码
2014/08/15 PHP
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
javascript 写类方式之九
2009/07/05 Javascript
javascript 事件绑定问题
2011/01/01 Javascript
JavaScript列表框listbox全选和反选的实现方法
2015/03/18 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
2016/04/04 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
JavaScript与java语言有什么不同
2016/09/22 Javascript
vue.js 表格分页ajax 异步加载数据
2016/10/18 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
微信小程序实现动态改变view标签宽度和高度的方法【附demo源码下载】
2017/12/05 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
JavaScript异步操作的几种常见处理方法实例总结
2020/05/11 Javascript
python监控网卡流量并使用graphite绘图的示例
2014/04/27 Python
Python实现获取操作系统版本信息方法
2015/04/08 Python
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
详解python中list的使用
2019/03/15 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
pytorch 实现张量tensor,图片,CPU,GPU,数组等的转换
2020/01/13 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
解决keras backend 越跑越慢问题
2020/06/18 Python
html5新特性与用法大全
2018/09/13 HTML / CSS
详解HTML5中div和section以及article的区别
2015/07/14 HTML / CSS
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
Linux开机引导的步骤是什么
2014/02/26 面试题
提档介绍信范文
2015/10/22 职场文书
2019餐饮行业创业计划书!
2019/06/27 职场文书
【js设计模式】SOLID五大设计原则
2022/03/24 Javascript
Golang实现可重入锁的示例代码
2022/05/25 Golang