最近写个程序,算出的结果必须为整数,所以我需要检测小数并处理,最终写完时发现没有整数,弄得一头雾水,最终经过思考解决了这个问题。
>>>1/1
1.0
可以看出python传统除法就算整除也会输出浮点数,除了传统除法python还有地板除法。
>>>1//1
1
>>>2//3
0
由此可以看出,使用地板除法可以取整数,但这就带来了一个问题,我的程序需要检测小数并处理,如果使用地板除法就不能处理小数了,所以我想出了一个办法。
a=2
b=2
a_divide_b=a/b
a_round_divide_b=a//b
if a_divide_b == a_round_divide_b:
print("十分位为0,将会转换结果为整数")
a_divide_b=int(a_divide_b)
else:
print("a除以b的结果是小数")
输出结果:
十分位为0,将会转换结果为整数
完!