zoukankan      html  css  js  c++  java
  • js JS 浮点计算BUG

    Number.prototype.toRound = function(d)
    {
    var s=this+"";if(!d)d=0;
    if(s.indexOf(".")==-1)s+=".";s+=new Array(d+1).join("0");
    if (new RegExp("^(-|\+)?(\d+(\.\d{0,"+ (d+1) +"})?)\d*$").test(s))
    {
    var s="0"+ RegExp.$2, pm=RegExp.$1, a=RegExp.$3.length, b=true;
    if (a==d+2){a=s.match(/d/g); if (parseInt(a[a.length-1])>4)
    {
    for(var i=a.length-2; i>=0; i--) {a[i] = parseInt(a[i])+1;
    if(a[i]==10){a[i]=0; b=i!=1;} else break;}
    }
    s=a.join("").replace(new RegExp("(\d+)(\d{"+d+"})\d$"),"$1.$2");
    }if(b)s=s.substr(1);return (pm+s).replace(/.$/, "");} return this+"";
    };

    var result = (i+0.1+0.1).toRound(2);

  • 相关阅读:
    Swift
    Swift
    Swift
    Swift
    Swift
    Swift
    Swift
    Swift
    Swift
    算法の序列
  • 原文地址:https://www.cnblogs.com/yangpeng-jingjing/p/5948183.html
Copyright © 2011-2022 走看看