还差几 发表于 2021-8-21 22:38:11

python如何实现乘除法中代无限不循环小数不失精度

本帖最后由 还差几 于 2021-8-21 22:41 编辑

例:
num1 = 5 / 3   
num2 = num1 * 3
print(num1 == num2)
明显是false
有什么方法可以使这样分步乘除成立
最后有现成的模块
回复会迟到,但不会缺席{:10_277:}

冬雪雪冬 发表于 2021-8-21 22:38:12

无限不循环小数是无法精确表示的。
循环小数是可以用分数表示,可以精确计算。
>>> import fractions
>>> num1 = fractions.Fraction(5, 3)
>>> num2 = num1 * 3
>>> num2 == 5
True

白two 发表于 2021-8-21 23:22:41

冬雪雪冬 发表于 2021-8-21 22:59
无限不循环小数是无法精确表示的。
循环小数是可以用分数表示,可以精确计算。

哇,大佬,学到了

还差几 发表于 2021-8-21 23:23:12

冬雪雪冬 发表于 2021-8-21 22:38
无限不循环小数是无法精确表示的。
循环小数是可以用分数表示,可以精确计算。

”无限不循环“口误{:10_282:}
页: [1]
查看完整版本: python如何实现乘除法中代无限不循环小数不失精度