我试图将一个浮点数表示为两个整数的比值,但是由于某种原因,我得到的整数与我期望看到的相差很大。有人能解释一下吗?
>>> value = 3.2
>>> ratios = value.as_integer_ratio()
>>> ratios
(3602879701896397, 1125899906842624)
>>> ratios[0] / ratios[1]
3.2
我认为(32, 10)
或(16, 5)
是解决这个问题的更好方法。奇怪的是,如果我尝试对像2.5这样的数字做同样的操作,答案正是我所期望的。
>>> value = 2.5
>>> value.as_integer_ratio()
(5, 2)
16 / 5
而不是32 / 10
? - qwertynl