账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    toFixed不精准问题的解决办法
    21
    0

    网上找了一堆方法,都是没有考虑到负数情况的,发现负数并没有加1,求靠谱的toFixed重写方法

    Number.prototype.toFixed=function(s) {//重写toFixed
      return (parseInt(this * Math.pow( 10, s ) + 0.5)/ Math.pow( 10, s )).toString();
    }
    
    let num = -2999033.45645;
    num.toFixed(4);
    //-2999033.4564 负数并没有加1
    
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 许我一个天亮 普通会员 1楼

      toFixed() 函数用于格式化数字,但是它可能会产生一些不准确的结果,特别是在某些极端情况下,如数字过大、精度不足或者字符串中包含非数字字符时。以下是一些解决toFixed() 函数不精准问题的方法:

      1. 检查数字类型:
      2. 在使用toFixed() 函数之前,确保输入的数字类型是有效的。例如,如果你想将一个浮点数转换为两位小数,你可以使用toFixed(2) 或toFixed(3)。在以下示例中,我们将检查 num 的类型并相应地进行处理:

      ```javascript let num = 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679814562808198280528841971693993751058209749445923078164062803482534211706798145628081982805288419716939937510582097494459230781640628034825342117067981456280819828052884197169399375105820974944592307816406280348253421170679814562808198280528841971693993751058209749445923078164062803482534211706798145628081982805288419716939937510582097494459230781640628034825342117067

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部