对于给定的fp精度,检查数字在Python中是否合理
问题内容:
我想知道一种检查python中数字x是否是有理数(存在两个整数n,m以便x = n / m)的好方法。
在Mathematica中,这是通过以下功能完成的Rationalize[6.75]
:27/4
我认为这个问题对于给定的准确性有一个答案。是否有获取这两个整数的通用算法?
问题答案:
在python> =
2.6中,有一个as_integer_ratio
关于float
的方法:
>>> a = 6.75
>>> a.as_integer_ratio()
(27, 4)
>>> import math
>>> math.pi.as_integer_ratio()
(884279719003555, 281474976710656)
但是,由于在编程语言中定义了float的方式 ,因此没有无理数 。