如何将十进制数舍入到python中可被2,4,8和16整除的最接近的数字?
例:
1920/1.33 = 1443.609022556391
Run Code Online (Sandbox Code Playgroud)
它应该四舍五入到1440,因为它很容易被2,4,8和16整除,反之亦然(1440*1.33 = 1920).
1920/1.33 = 1440
Run Code Online (Sandbox Code Playgroud)
Mat*_*don 17
怎么样int( 16 * round( value / 16. ))?
如果一个数字可被16整除,那么它可被2,4和8整除.知道这一点,只需计算十进制数的模16余数并从基数中减去它.
>>>> 1443.609022556391 - (1443.609022556391 % 16)
1440.0
Run Code Online (Sandbox Code Playgroud)