四舍五入保留n位小数取法

好像有偏差

//对x进行四舍五入保留n位小数:
(Math.round(x * 10^n) / (10^n)).toFixed(n);

保留指定位数小数

   //保留4位小数
    var number = 12.3321432;
    number = String(number).replace(/^(.*\..{4}).*$/,"$1");
    number = Number(number); // number = 12.3321

保留N位小数

function savePointWithN(number,n){
   if(isNaN(number)){
      return null;
   }else{
      var floatVar=parseFloat(number);//转换成浮点数
      var pow;//放大倍数
      if(isNaN(n)){
         pow=1;//按取整处理
      }else{
         if(n>0){
            pow=Math.pow(10,n);  //10的N次方倍
         }else{
            pow=1;//按取整处理
         }
      }
      floatVar=floatVar * pow;//floatVar *1或者放大10的N次方倍(保留n位小数)
      floatVar=Math.round(floatVar);//四舍五入取整
      floatVar=Math.floor(floatVar) / pow;//还原
      return floatVar;
   }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飘然生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值