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'>
>>>
添加回答
举报