免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2216 | 回复: 1
打印 上一主题 下一主题

分享5个javascript的数字格式化函数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-10 19:16 |只看该作者 |倒序浏览
分享5个javascript的数字格式化函数





Javascript没有任何内建的格式化函数,这里我们通过Google收集了5个javascript的数字格式化函数,希望对于大家的web开发能够带来方便。

十进制四舍五入
这两段代码帮助你做到四舍五入,对于你显示价格或者订单比较有用:



代码1:
  1. function CurrencyFormatted(amount) {
  2.     var i = parseFloat(amount);
  3.     if(isNaN(i)) { i = 0.00; }
  4.     var minus = '';
  5.     if(i < 0) { minus = '-'; }
  6.     i = Math.abs(i);
  7.     i = parseInt((i + .005) * 100);
  8.     i = i / 100;
  9.     s = new String(i);
  10.     if(s.indexOf('.') < 0) { s += '.00'; }
  11.     if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
  12.     s = minus + s;
  13.     return s;
  14. }

  15. /**
  16. *   Usage:  CurrencyFormatted(12345.678);
  17. *   result: 12345.68
  18. **/代码2:

  19. function format_number(pnumber,decimals){
  20.     if (isNaN(pnumber)) { return 0};
  21.     if (pnumber=='') { return 0};
  22.      
  23.     var snum = new String(pnumber);
  24.     var sec = snum.split('.');
  25.     var whole = parseFloat(sec[0]);
  26.     var result = '';
  27.      
  28.     if(sec.length > 1){
  29.         var dec = new String(sec[1]);
  30.         dec = String(parseFloat(sec[1])/Math.pow(10,(dec.length - decimals)));
  31.         dec = String(whole + Math.round(parseFloat(dec))/Math.pow(10,decimals));
  32.         var dot = dec.indexOf('.');
  33.         if(dot == -1){
  34.             dec += '.';
  35.             dot = dec.indexOf('.');
  36.         }
  37.         while(dec.length <= dot + decimals) { dec += '0'; }
  38.         result = dec;
  39.     } else{
  40.         var dot;
  41.         var dec = new String(whole);
  42.         dec += '.';
  43.         dot = dec.indexOf('.');   
  44.         while(dec.length <= dot + decimals) { dec += '0'; }
  45.         result = dec;
  46.     }  
  47.     return result;
  48. }

  49. /**
  50. *   Usage:  format_number(12345.678, 2);
  51. *   result: 12345.68
  52. **/
复制代码

论坛徽章:
0
2 [报告]
发表于 2011-11-11 21:43 |只看该作者
感谢 分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP