我如何在Python中编写一个函数来对数字进行四舍五入?

1 投票
2 回答
2878 浏览
提问于 2025-04-16 10:46

我想知道怎么在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,然后再去掉小数部分。

撰写回答