如何在Python中编写一个对数字进行舍入的函数?

时间:2011-01-28 05:25:37

标签: python

如何以通常的方式在Python中编写用于舍入数字的函数。 小于.5的数字向下舍入,而.5及以上的数字向上舍入。

3.4 -> 3

11.9 -> 12

5.5 -> 6

2 个答案:

答案 0 :(得分:7)

使用Python函数round()。如果您想自己动手,请添加0.5然后截断。

答案 1 :(得分: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

开玩笑;)