4 回答

TA貢獻1846條經驗 獲得超7個贊
嘗試直接四舍五入到 4:
import math
h = 53.75
rounded = math.round(h / 4) * 4
if (rounded > h):
print("Rounded up by " + str(rounded - h))
else:
print("Rounded down by " + str(h - rounded))

TA貢獻1784條經驗 獲得超8個贊
如果給定小數點后的數字是:則使用 round()
>=5 + 1 將被添加到最終值。
<5 表示最終值將按原樣返回到上述小數位。
但是您可以使用math 包中的ceil
或floor
,它總是分別向上或向下舍入。
import math
>>> math.ceil(5.2)
6
>>> math.floor(5.9)
5

TA貢獻1775條經驗 獲得超11個贊
假設您想知道 和 是否3.9被4.4四舍五入。你可以這樣做:
def is_rounded_down(val, ndigits=None):
return round(val, ndigits) < val
然后你可以簡單地調用該函數來找出
>>> is_rounded_down(3.9)
False
>>> is_rounded_down(4.4)
True
默認情況下round()不會提供該信息,因此您需要自行檢查。

TA貢獻1824條經驗 獲得超6個贊
對于 Python 2.X 整數除法返回一個整數并且總是向下舍入。
add@LM1756:~$ python
Python 2.7.13 (default, Sep 26 2018, 18:42:22)
>>> print 8/3
2
>>> print type(5/2)
<type 'int'>
對于 Python 3.X 整數除法返回浮點數,因此沒有舍入。
add@LM1756:~$ python3
Python 3.5.3 (default, Sep 27 2018, 17:25:39)
>>> print(8/3)
2.6666666666666665
>>> type(8/3)
<class 'float'>
>>>
添加回答
舉報