我如何在Python中编写一个函数来对数字进行四舍五入?
我想知道怎么在Python里写一个函数,让它按照常规的方式对数字进行四舍五入。也就是说,小于0.5的数字要向下舍入,而0.5及以上的数字则要向上舍入。
3.4 -> 3 11.9 -> 12 5.5 -> 6
2 个回答
1
def roundNumberAccordingly(number):
digits = str(number)
integer = 0
remainder = 0
seen_decimal = False
for i in range(len(digits)):
if digits[i] == '.':
seen_decimal = True
continue
elif not seen_decimal:
delta = int(digits[i]) * 10 ** (len(digits) - i - 1)
integer += delta
else:
delta = int(digits[i]) * 10 ** (len(digits) - i - 1)
remainder += delta
integer /= 10 ** (len(str(remainder)) + 1)
print integer
print remainder
first = str(remainder)[0]
if first in ('0', '1', '2', '3', '4'):
return integer
else:
return integer + 1
开个玩笑;)
7
使用Python的 round() 函数。如果你想自己实现这个功能,可以先加上0.5,然后再去掉小数部分。