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