python如何让大于1.1小于2的数等于2
问题描述:
python如何让大于1.1小于2的数等于2
python如何让大于2.1小于3的数等于3
以此类推,有没有内置函数啊?
答
math.ceil(1.2) 得到的是 2.0,仍然是小数,需要再用int函数转换为整数.
即 int(math.ceil(1.2)) 得到的才是2.
根据你的例子,下面自定义了一个函数convert,仅支持正数.
import math
def convert(num):
"""Convert a positive decimal to an integer if its fractional part is greater than 0.1."""
if round(num - math.floor(num), 1) > 0.1:
return int(math.ceil(num))
else:
return num
a, b, c = 2.0, 2.1, 2.2
print convert(a)
print convert(b)
print convert(c)
本例中所示,convert函数对于入参为2.0 或 2.1,返回其本身,不做转换;入参为2.2,则返回正整数3.