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 相关文章推荐
json数据处理技巧(字段带空格、增加字段、排序等等)
Jun 14 Javascript
解析jquery获取父窗口的元素
Jun 26 Javascript
avascript中的自执行匿名函数应用示例
Sep 15 Javascript
JavaScript中this的9种应用场景及三种复合应用场景
Sep 12 Javascript
js以分隔符分隔数组中的元素并转换为字符串的方法
Nov 16 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
Jun 20 Javascript
AngularJS实现进度条功能示例
Jul 05 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
Dec 07 Javascript
VSCode配置react开发环境的步骤
Dec 27 Javascript
vue单页开发父子组件传值思路详解
May 18 Javascript
vue通过video.js解决m3u8视频播放格式的方法
Jul 30 Javascript
关于element-ui表单中限制输入纯数字的解决方式
Sep 08 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
帅气的琦玉老师
2020/03/02 日漫
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
php getimagesize 上传图片的长度和宽度检测代码
2010/05/15 PHP
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
php实现在服务器端调整图片大小的方法
2015/06/16 PHP
CI框架简单邮件发送类实例
2016/05/18 PHP
php进程间通讯实例分析
2016/07/11 PHP
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
使用jquery提交form表单并自定义action的方法
2016/05/25 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
vue 中动态绑定class 和 style的方法代码详解
2018/06/01 Javascript
小程序ios音频播放没声音问题的解决
2018/07/11 Javascript
NodeJS使用Range请求实现下载功能的方法示例
2018/10/12 NodeJs
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
详解React 服务端渲染方案完美的解决方案
2018/12/14 Javascript
bootstrap下拉分页样式 带跳转页码
2018/12/29 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
2019/04/28 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
对python中list的拷贝与numpy的array的拷贝详解
2019/01/29 Python
Flask框架踩坑之ajax跨域请求实现
2019/02/22 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
Python-jenkins模块获取jobs的执行状态操作
2020/05/12 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
python绘制高斯曲线
2021/02/19 Python
美国购买舞会礼服网站:Couture Candy
2019/12/29 全球购物
瑞士网球商店:Tennis-Point
2020/03/12 全球购物
英国户外服装、鞋类和设备的领先零售商:Millets
2020/10/12 全球购物
Ruby中的保护方法和私有方法与一般面向对象程序设计语言的一样吗
2013/05/01 面试题
工地门卫岗位职责
2013/12/30 职场文书
霸王洗发水广告词
2014/03/14 职场文书
离婚协议书范本2014
2014/10/27 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
期中考试后的感想
2015/08/07 职场文书
不要在HTML中滥用div
2021/05/08 HTML / CSS