关于Python中浮点数精度处理的技巧总结

时间:2021-07-15 00:37:24

前言

最近在使用Python的时候遇到浮点数运算,发现经常会碰到如下情况:

关于Python中浮点数精度处理的技巧总结

出现上面的情况,主要还是因浮点数在计算机中实际是以二进制保存的,有些数不精确。

比如说: 0.1是十进制,转化为二进制后它是个无限循环的数:

0.00011001100110011001100110011001100110011001100110011001100

而python是以双精度(64)位来保存浮点数,多余的位会被截掉,所以看到的是0.1,但在电脑上实际保存的已不是精确的0.1,参与运算后,也就有可能点误差,特别是金融邻域里面,对精度更是要求更高,如何在Python中获取特定位数精度值?

【方法一】利用round方法:

关于Python中浮点数精度处理的技巧总结

【方法二】利用decimal模块:

关于Python中浮点数精度处理的技巧总结

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:http://blog.csdn.net/jerry_1126/article/details/74079819