收藏
回答

小程序四舍五入算法有问题,小数点后两位相乘乘不尽

框架类型 问题类型 操作系统 工具版本
小程序 Bug Windows 1.02.1812271

208.5*5.85=*.4999999999



回答关注问题邀请回答
收藏

12 个回答

  • 2019-01-29

    我这里有一种计算方式能解决正在全面测试

    for(let i=80;i<160;i++){

         for (let j = 19900; j <= 20000; j++){

           if(j%5==0){

             let b = i*5


             let a = Math.round((j/ 100 * b).toFixed(2)) / 100  -----》这里是重点

             // console.log(a)

             // console.log(b)

             let data = {

               consumePrices: a,

               price: b / 100,

               amount: j/ 100,

               listPirce: b / 100 + 2

             }

             

           }

         }

       }


    2019-01-29
    有用
    回复
  • 卢霄霄
    卢霄霄
    2019-01-29

    完了完了,不止这么大的浮点数运算有问题,连 0.1+0.2这种都算不对了。。

    不对啊。。你这个算得出来啊

    208.5*5.85

    2019-01-29
    有用
    回复 1
    • 2019-01-29

      我这里有一种计算方式能解决正在全面测试

      for(let i=80;i<160;i++){

           for (let j = 19900; j <= 20000; j++){

             if(j%5==0){

               let b = i*5


               let a = Math.round((j/ 100 * b).toFixed(2)) / 100  -----》这里是重点

               // console.log(a)

               // console.log(b)

               let data = {

                 consumePrices: a,

                 price: b / 100,

                 amount: j/ 100,

                 listPirce: b / 100 + 2

               }

               

             }

           }

         }


      2019-01-29
      回复

正在加载...

登录 后发表内容