gamemaker吧 关注:13,605贴子:94,688
  • 10回复贴,共1

【科普】关于取近似值函数"round()"的那些奇葩事儿

只看楼主收藏回复

1楼round()镇楼


IP属地:陕西1楼2015-10-01 00:29回复
    在我们进行小数取整运算时,可能会使用到round()函数,通常是为了取一个最接近的整数,但是却容易出现一楼的情况,本吧之前有吧友讨论过这个问题,实际用gm进行操作时,会出现“偏向双数的计算错误”,有的时候debug半天找不到问题,最后才发现问题原来在这里,用一句话总结就是:
    (图文无关)
    然而,果真是计算错误吗


    IP属地:陕西2楼2015-10-01 01:01
    回复
      因此,在需要四舍五入的情况下,最好自己写一个脚本,用来取整
      【完】


      IP属地:陕西5楼2015-10-01 02:00
      回复
        舍去法,进位法,四舍五入法。


        IP属地:河南来自Android客户端6楼2015-10-01 05:35
        回复
          涨姿势


          IP属地:上海来自Android客户端8楼2015-10-01 09:14
          回复
            小学学的四舍五入就这么日狗了


            IP属地:北京9楼2015-10-02 14:35
            回复
              所以咱一直用int(x+0.5)……还是floor(x+0.5)来着……


              IP属地:北京10楼2015-10-03 21:52
              回复
                新人表示记住了 谢谢楼主科普 再加一句话凑十五字


                IP属地:广东11楼2015-10-04 21:54
                回复


                  IP属地:北京12楼2015-10-08 09:53
                  回复

                    另外纠正一下3L的说法,进位规则不是{大于或等于6}是{大于5},这两个范围存在(5,6]——即5到6,不包括5但包括6——的差异。


                    IP属地:北京13楼2015-10-08 09:58
                    收起回复