python数据精度问题和解决方案

白癜风是怎样造成的 http://baidianfeng.39.net/a_xcyy/130710/4211291.html

在使用python进行数值运算时,就可能会碰到以下的精度问题。我们先看一样精度问题的样例:

样例程序:

样例程序输出:

那么为啥加上99.99会变成0.000000005呢?这里就涉及到一个计算机运行过程中的精度问题,我们都知道计算机运行的是二进制,而我们的代码中是十进制,有时候由于二进制和十进制之间对应问题会导致数值的精度问题,比如无法用有限个二进制位完整地表示0.1,因为0.1转化为二进制之后位一个无限循环小数。

那我们如何解决这类问题呢?

方案一:浮点数格式化

方案二,round函数处理

方案三,利用decimal.Decimal函数

赶紧把python的数值运算精度问题梳理学习一下吧,赶紧试一试。




转载请注明:http://www.aierlanlan.com/rzfs/4381.html

  • 上一篇文章:
  •   
  • 下一篇文章: