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之九 一些瑕疵说明
Jun 21 Javascript
JavaScript 命名空间 使用介绍
Aug 29 Javascript
jquery及原生js获取select下拉框选中的值示例
Oct 25 Javascript
Javascript MVC框架Backbone.js详解
Sep 18 Javascript
关于cookie的初识和运用(js和jq)
Apr 07 Javascript
浅谈jQuery效果函数
Sep 16 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
Oct 19 Javascript
bootstrap flask登录页面编写实例
Nov 01 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
May 12 Javascript
深入浅析Vue不同场景下组件间的数据交流
Aug 15 Javascript
微信二次分享报错invalid signature问题及解决方法
Apr 01 Javascript
微信小程序中如何使用flyio封装网络请求
Jul 03 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错误提示的关闭方法详解
2013/06/23 PHP
php对二维数组按指定键值key排序示例代码
2013/11/26 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
使用laravel的migrate创建数据表的方法
2019/09/30 PHP
在JavaScript中实现命名空间
2006/11/23 Javascript
javascript实现的listview效果
2007/04/28 Javascript
JavaScript原型继承之基础机制分析
2011/08/26 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
jquery实现弹出div,始终显示在屏幕正中间的简单实例
2014/03/08 Javascript
js根据手机客户端浏览器类型,判断跳转官网/手机网站多个实例代码
2016/04/30 Javascript
JavaScript中的Object对象学习教程
2016/05/20 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
用JS编写一个函数,返回数组中重复出现过的元素(实例)
2017/09/14 Javascript
Vim快速合并行及vim 将文件所有行合并到一行
2017/11/27 Javascript
Vue中JS动画与Velocity.js的结合使用
2019/02/13 Javascript
jQuery AJAX与jQuery事件的分析讲解
2019/02/18 jQuery
React中this丢失的四种解决方法
2019/03/12 Javascript
Vue批量图片显示时遇到的路径被解析问题
2019/03/28 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
javascript 设计模式之享元模式原理与应用详解
2020/04/08 Javascript
vue 修改 data 数据问题并实时显示操作
2020/09/07 Javascript
js实现磁性吸附的示例
2020/10/26 Javascript
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
python的迭代器与生成器实例详解
2014/07/16 Python
Python实现的数据结构与算法之双端队列详解
2015/04/22 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
python 实现绘制整齐的表格
2019/11/18 Python
Python使用struct处理二进制(pack和unpack用法)
2020/11/12 Python
Django缓存Cache使用详解
2020/11/30 Python
利用纯CSS3实现tab选项卡切换示例代码
2016/09/21 HTML / CSS
用HTML5 Canvas API中的clearRect()方法实现橡皮擦功能
2016/03/15 HTML / CSS
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
三好学生个人总结
2015/02/15 职场文书
送达通知书
2015/04/25 职场文书