【发布时间】:2013-11-21 15:04:59
【问题描述】:
我尝试获取变量的比例并得到意想不到的结果。有人可以解释一下吗?
>>> value = 3.2
>>> ratios = value.as_integer_ratio()
>>> ratios
(3602879701896397, 1125899906842624)
>>> ratios[0] / ratios[1]
3.2
我使用 python 3.3
但我认为(16, 5) 是更好的解决方案
以及为什么它对2.5 正确
>>> value = 2.5
>>> value.as_integer_ratio()
(5, 2)
【问题讨论】:
-
你期待什么?
-
16 / 5?为什么不32 / 10? -
(16, 5)例如。但我明白为什么我会得到这么大的数字 -
16 / 5 是最简化的形式
-
可能重复:关于浮点数学的每一个问题。
标签: python floating-point python-3.3 fractions