免费注册 查看新帖 |

Chinaunix

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

js保留2位小数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-03 12:08 |只看该作者 |倒序浏览
JS保留两位小数

    对于一些小数点后有多位的浮点数,我们可能只需要保留2位,但js没有提供这样直接的函数,所以我们得自己写函数实现这个功能,代码如下:
function changeTwoDecimal(x)
{
   var f_x = parseFloat(x);
   if (isNaN(f_x))
   {
      alert('function:changeTwoDecimal->parameter error');
      return false;
   }
   var f_x = Math.round(x*100)/100;
   return f_x;
}
    功能:将浮点数四舍五入,取小数点后2位
    用法:changeTwoDecimal(3.1415926) 返回 3.14
          changeTwoDecimal(3.1475926) 返回 3.15

    js保留2位小数(强制)
  
  对于小数点位数大于2位的,用上面的函数没问题,但是如果小于2位的,比如:
changeTwoDecimal(3.1),将返回 3.1,如果你一定需要3.10这样的格式,那么需要下面的这个函数:

function changeTwoDecimal_f(x)
{
   var f_x = parseFloat(x);
   if (isNaN(f_x))
   {
      alert('function:changeTwoDecimal->parameter error');
      return false;
   }
   var f_x = Math.round(x*100)/100;
   var s_x = f_x.toString();
   var pos_decimal = s_x.indexOf('.');
   if (pos_decimal   {
      pos_decimal = s_x.length;
      s_x += '.';
   }
   while (s_x.length   {
      s_x += '0';
   }
   return s_x;
}
  功能:将浮点数四舍五入,取小数点后2位,如果不足2位则补0,这个函数返回的是字符串的格式
  用法:changeTwoDecimal(3.1415926) 返回 3.14
        changeTwoDecimal(3.1) 返回 3.10


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/32608/showart_2044627.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP