一尘不染

对于给定的fp精度,检查数字在Python中是否合理

algorithm

我想知道一种检查python中数字x是否是有理数(存在两个整数n,m以便x = n / m)的好方法。

在Mathematica中,这是通过以下功能完成的Rationalize[6.75]27/4

我认为这个问题对于给定的准确性有一个答案。是否有获取这两个整数的通用算法?


阅读 220

收藏
2020-07-28

共1个答案

一尘不染

在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的方式 ,因此没有无理数

2020-07-28