使用该
fractions模块可以简化分数:
>>> from fractions import Fraction>>> Fraction(3.2)Fraction(3602879701896397, 1125899906842624)>>> Fraction(3.2).limit_denominator()Fraction(16, 5)
从
Fraction.limit_denominator()功能:
查找并返回最接近
Fraction于self具有最多max_denominator分母。该方法对于找到给定浮点数的有理逼近很有用
浮点数在精度上的限制,并不能代表很多数字 准确 ; 您看到的是四舍五入的表示形式,但实际数字是:
>>> format(3.2, '.50f')'3.20000000000000017763568394002504646778106689453125'
因为浮点数表示为二进制分数的和;1/5只能通过将1/8 + 1/16 + 1/128 +更多的二进制分数相加来增加2的指数来表示。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)