如何使代码接受int和float类型的值作为双类型?——Python



我有一个混合值的数据集,其中很少有值是浮动的(例如:3.4),很少是int(例如3.0)。我想检查是否所有的值都是double。我希望如果值是int或float,它们被接受为双精度数据类型。

I tried doing:


data = [3.0, 3.4, 3.2, 3.0, 3.1]
for valuedata in data:
is_double = isinstance(valuedata, float)
print(is_double)

结果是FALSE,而我希望int和float都被接受为double。

感谢

你可以看到它是否是一个numbers.Number.

实例
>>> import numbers
>>> isinstance(1.1, numbers.Number)
True
>>> isinstance(1, numbers.Number)  
True
>>> 

您可以通过将元组传递给isinstance():

来检查多个允许的类型。
is_double = isinstance(valuedata, (int, float))

还需要注意的是,Python的int具有无限的精度,这可能太大了,无法放入C/c++的double中。

相关内容

  • 没有找到相关文章

最新更新