任何方式如此整数被归类为没有.0的整数和浮点数被归类为浮点数?

时间:2014-03-01 16:13:45

标签: python python-3.x integer decimal division

因此。在我的程序中,我有一个部分,我检查除法和的结果是否是整数。例如,6 / 3 = 2(True)或7 / 3 = 1.66(False)。问题是当我进行像6 / 3这样的划分时,应该是整数的结果被归类为浮点数,因为它是2.0而不是2。有没有办法让十进制/浮点数答案被归类为带小数点的浮点数,整数答案被归类为整数? (最后没有.0的数字)

我现在有这个:

6 / 3 = 2.0 (float)    
7 / 3 = 1.66 (float)

我想要这个:

6 / 3 = 2 (integer)    
7 / 3 = 1.66 (float)

2 个答案:

答案 0 :(得分:4)

只需使用float.is_integer()

例如,正如OP所表达的那样:

>>> num1 = 6 / 3  # 2.0
>>> num1.is_integer()
True
>>> num2 = 7 / 3  # 2.33
>>> num2.is_integer()
False

这里不需要任何复杂的东西 - 在你的功能中实现这一点应该很容易。

答案 1 :(得分:-3)

7/3 * 3 = 7?

return ((n1 // n2 * n2) == n1)