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 相关文章推荐
jQuery 可以拖动的div实现代码 脚本之家修正版
Jun 26 Javascript
JSON JQUERY模板实现说明
Jul 03 Javascript
将HTML的左右尖括号等转义成实体形式的两种实现方式
May 04 Javascript
jQuery中noConflict()用法实例分析
Feb 08 Javascript
js使用setTimeout实现定时炸弹的方法
Apr 10 Javascript
js中日期的加减法
May 06 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
Aug 06 Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
Dec 13 Javascript
js es6系列教程 - 基于new.target属性与es5改造es6的类语法
Sep 02 Javascript
解决vue 引入子组件报错的问题
Sep 06 Javascript
微信小程序使用websocket通讯的demo,含前后端代码,亲测可用
May 22 Javascript
详解Typescript里的This的使用方法
Jan 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
PHP脚本的10个技巧(1)
2006/10/09 PHP
php一些错误处理的方法与技巧总结
2013/08/10 PHP
PHP以mysqli方式连接类完整代码实例
2014/07/15 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
实例讲解PHP中使用命名空间
2019/01/27 PHP
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
禁止页面刷新让F5快捷键及右键都无效
2014/01/22 Javascript
jQuery判断元素上是否绑定了指定事件的方法
2015/03/17 Javascript
Google 地图控件集详解及实例代码
2016/08/06 Javascript
vue.js通过自定义指令实现数据拉取更新的实现方法
2016/10/18 Javascript
使用vue.js实现联动效果的示例代码
2017/01/10 Javascript
js放到head中失效的原因与解决方法
2017/03/07 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
JS实现针对给定时间的倒计时功能示例
2017/04/11 Javascript
JS实现数组的增删改查操作示例
2018/08/29 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
详解angularjs跨页面传参遇到的一些问题
2018/11/01 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
2019/01/24 Javascript
vue+web端仿微信网页版聊天室功能
2019/04/30 Javascript
[01:02:46]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[01:36:19]Secret vs NB 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
王纯业的Python学习笔记 下载
2007/02/10 Python
python中的编码知识整理汇总
2016/01/26 Python
python3.6+opencv3.4实现鼠标交互查看图片像素
2018/02/26 Python
Pytorch实现的手写数字mnist识别功能完整示例
2019/12/13 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
HTML5响应式(自适应)网页设计的实现
2017/11/17 HTML / CSS
土耳其时尚潮流在线购物网站:Trendyol
2017/10/10 全球购物
Charlotte Tilbury美国官网:英国美妆品牌
2017/10/13 全球购物
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
小学生家长评语集锦
2014/01/30 职场文书
小学生母亲节演讲稿
2014/05/07 职场文书
诚信考试承诺书范文
2015/04/29 职场文书
2015上半年个人工作总结
2015/07/27 职场文书
使用HBuilder制作一个简单的HTML5网页
2022/07/07 HTML / CSS