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 相关文章推荐
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
Oct 10 Javascript
JavaScript驾驭网页-CSS与DOM
Mar 24 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
Jun 01 Javascript
AngularJS的ng Http Request与response格式转换方法
Nov 07 Javascript
js实现瀑布流效果(自动生成新的内容)
Mar 16 Javascript
JS判断数组那点事
Oct 10 Javascript
Vue.js搭建移动端购物车界面
Jun 28 Javascript
如何让node运行es6模块文件及其原理详解
Dec 11 Javascript
jquery-ui 进度条功能示例【测试可用】
Jul 25 jQuery
angularjs请求数据的方法示例
Aug 06 Javascript
你不可不知的Vue.js列表渲染详解
Oct 01 Javascript
详解微信小程序之提高应用速度小技巧
Jan 07 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
10条PHP编程习惯助你找工作
2008/09/29 PHP
PHP版网站缓存加快打开速度的方法分享
2012/06/03 PHP
PHP中3种生成XML文件方法的速度效率比较
2012/10/06 PHP
php生成xml时添加CDATA标签的方法
2014/10/17 PHP
php中各种定义变量的方法小结
2017/10/18 PHP
PhpStorm配置Xdebug调试的方法步骤
2019/02/02 PHP
PHP精确到毫秒秒杀倒计时实例详解
2019/03/14 PHP
这段js代码得节约你多少时间
2011/12/20 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
两种不同的方法实现js对checkbox进行全选和反选
2014/05/13 Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
2014/06/10 Javascript
js解决movebox移动问题
2016/03/29 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
2016/05/15 Javascript
JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()
2016/08/11 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
2016/09/21 Javascript
Vuex之理解Store的用法
2017/04/19 Javascript
微信小程序 按钮滑动的实现方法
2017/09/27 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
2019/01/27 jQuery
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
JavaScript的一些小技巧分享
2021/01/06 Javascript
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
python Django中models进行模糊查询的示例
2019/07/18 Python
python装饰器相当于函数的调用方式
2019/12/27 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
python3跳出一个循环的实例操作
2020/08/18 Python
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
Java软件工程师综合面试题笔试题
2013/09/08 面试题
个人简历自我评价范文
2014/02/04 职场文书
2014年司机工作总结
2014/11/21 职场文书
2014年销售工作总结
2014/12/01 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
工程部经理岗位职责
2015/02/02 职场文书
销售员岗位职责
2015/02/10 职场文书
因公司原因离职的辞职信范文
2015/05/12 职场文书
党校团干班培训心得体会
2016/01/06 职场文书