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

如何用Python编写一个对数字进行舍入的函数?,python,Python,如何用Python编写一个函数,以通常的方式对数字进行四舍五入。 小于.5的数字向下舍入,大于等于.5的数字向上舍入 3.4 -> 3 11.9 -> 12 5.5 -> 6 使用Python函数。如果您想自己做,请添加0.5,然后截断。使用Python函数。如果您想自己做,请添加0.5,然后截断 def roundNumberAccordingly(number): digits = str(number) integer = 0 remainder = 0

如何用Python编写一个函数,以通常的方式对数字进行四舍五入。 小于.5的数字向下舍入,大于等于.5的数字向上舍入

3.4 -> 3 11.9 -> 12 5.5 -> 6 使用Python函数。如果您想自己做,请添加0.5,然后截断。

使用Python函数。如果您想自己做,请添加0.5,然后截断

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
只是开玩笑


只是开玩笑

还要注意,round返回一个float,所以如果特别需要int,则应使用int来输入caste。示例:简介3。4@Trey:int3.4+0.5是整数的舍入方式。@Jochen Ritzel:现在向他演示如何将负数舍入为整数。还要注意,舍入返回一个浮点,因此如果特别需要整数,则应使用整数来键入caste。示例:简介3。4@Trey:int3.4+0.5是整数的舍入方式。@Jochen Ritzel:现在教他如何将负数舍入整数。+1只是因为为一个笑话写那么多代码是值得的。+1只是因为为一个笑话写那么多代码是值得的。