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 相关文章推荐
ext实现完整的登录代码
Aug 08 Javascript
解析window.open的使用方法总结
Jun 19 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
Aug 01 Javascript
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
Mar 13 Javascript
jquery使用hide方法隐藏指定id的元素
Mar 30 Javascript
javascript 闭包详解
Jul 02 Javascript
浅谈JavaScript的内置对象和浏览器对象
Jun 03 Javascript
极力推荐10个短小实用的JavaScript代码段
Aug 03 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
Jan 22 Javascript
jquery实现表单获取短信验证码代码
Mar 13 Javascript
一个可复用的vue分页组件
May 15 Javascript
js表单序列化判断空值的实例
Sep 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
php 友好URL的实现(吐血推荐)
2008/10/04 PHP
简化php模板页面中分页代码的解析
2009/02/06 PHP
jquery的相对父元素和相对文档定位示例代码
2013/08/02 Javascript
Jquery AJAX POST与GET之间的区别
2013/11/14 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
jQuery中even选择器的定义和用法
2014/12/23 Javascript
js实现class样式的修改、添加及删除的方法
2015/01/20 Javascript
js模仿java的Map集合详解
2016/01/06 Javascript
使用ajaxfileupload.js实现上传文件功能
2016/08/13 Javascript
JavaScript学习笔记--常用的互动方法
2016/12/07 Javascript
前端开发必知的15个jQuery小技巧
2017/01/22 Javascript
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
2017/03/21 jQuery
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
[js高手之路]单例模式实现模态框的示例
2017/09/01 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
2018/10/19 Javascript
JS防抖和节流实例解析
2019/09/24 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
Vue多选列表组件深入详解
2021/03/02 Vue.js
Python合并多个装饰器小技巧
2015/04/28 Python
在Python中使用__slots__方法的详细教程
2015/04/28 Python
python3实现读取chrome浏览器cookie
2016/06/19 Python
python实现unicode转中文及转换默认编码的方法
2017/04/29 Python
python+splinter实现12306网站刷票并自动购票流程
2018/09/25 Python
详解python持久化文件读写
2019/04/06 Python
Python3.5内置模块之time与datetime模块用法实例分析
2019/04/27 Python
三星俄罗斯授权在线商店:Samsung俄罗斯
2019/09/28 全球购物
给校长的建议书400字
2014/05/15 职场文书
2014年民政局关于保密工作整改措施
2014/09/19 职场文书
办公室管理规章制度
2015/08/04 职场文书
2016年3月份红领巾广播稿
2015/12/21 职场文书
2019行政前台转正申请书范文3篇
2019/08/15 职场文书
学会Python数据可视化必须尝试这7个库
2021/06/16 Python
浅谈Python数学建模之数据导入
2021/06/23 Python
python APScheduler执行定时任务介绍
2022/04/19 Python