python高精度除法, 如果分子或者分母为小一点的数,怎样优化

Python012

python高精度除法, 如果分子或者分母为小一点的数,怎样优化,第1张

分子分母比较小的时候,可以给分子分母乘以一个系数,计算之后再除以这个系数,例如:

0.000005% 98645132

你可以将0.0000005 × 1000000000,然后进行除法

除完之后,根据你需要的精度,转成字符串,删除其中的o

对最佳回答进行一些修改:在python3.X中利用/即可直接进行浮点除法运算,即精确除法。而//的规则是:先对被除数进行四舍五入取整除数不动),然后运算除法,对运算结果进行无条件截断,只保留到整数部分,小数点后不保留。这个类似floor(),所以也叫地板除。

#加粗部分为修改部分

计算机存储数字是二进制的,并且除法本身还有精度的问题,python和其他大多数c,java一样,除法都是不准确的。

>>>0.111111111111==1/9

False

>>>0.1111111111111111111==1/9

True

不过python有一个decimal包,专门处理小数