Chinaunix首页 | 论坛 | 博客
  • 博客访问: 463640
  • 博文数量: 141
  • 博客积分: 211
  • 博客等级: 入伍新兵
  • 技术积分: 1049
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-17 16:25
个人简介

如此经年,望尽千帆。

文章分类

全部博文(141)

文章存档

2014年(73)

2013年(65)

2012年(3)

我的朋友

分类: JavaScript

2014-03-29 21:19:34

分享一例的js代码,将数字格式化成金额的表示形式,很多时候会使用得上,在此记录下。
代码:

  1. /**
  2.  * 将数值四舍五入(保留2位小数)后格式化成金额形式
  3.  *
  4.  * @param num 数值(Number或者String)
  5.  * @return 金额格式的字符串,如'1,234,567.45'
  6.  * @type String
  7.  */
  8. function formatCurrency(num) {
  9.     num = num.toString().replace(/\$|\,/g,'');
  10.     if(isNaN(num))
  11.     num = "0";
  12.     sign = (num == (num = Math.abs(num)));
  13.     num = Math.floor(num*100+0.50000000001);
  14.     cents = num%100;
  15.     num = Math.floor(num/100).toString();
  16.     if(cents<10)
  17.     cents = "0" + cents;
  18.     for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
  19.     num = num.substring(0,num.length-(4*i+3))+','+
  20.     num.substring(num.length-(4*i+3));
  21.     return (((sign)?'':'-') + num + '.' + cents);
  22. }
  23.  
  24. /**
  25.  * 将数值四舍五入(保留1位小数)后格式化成金额形式
  26.  * 脚本学堂
  27.  * @param num 数值(Number或者String)
  28.  * @return 金额格式的字符串,如'1,234,567.4'
  29.  * @type String
  30.  */
  31. function formatCurrencyTenThou(num) {
  32.     num = num.toString().replace(/\$|\,/g,'');
  33.     if(isNaN(num))
  34.     num = "0";
  35.     sign = (num == (num = Math.abs(num)));
  36.     num = Math.floor(num*10+0.50000000001);
  37.     cents = num%10;
  38.     num = Math.floor(num/10).toString();
  39.     for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
  40.     num = num.substring(0,num.length-(4*i+3))+','+
  41.     num.substring(num.length-(4*i+3));
  42.     return (((sign)?'':'-') + num + '.' + cents);
  43. }
阅读(2661) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~