在使用python进行数值运算时,就可能会碰到以下的精度问题。我们先看一样精度问题的样例:
样例程序:
样例程序输出:
那么为啥加上99.99会变成0.000000005呢?这里就涉及到一个计算机运行过程中的精度问题,我们都知道计算机运行的是二进制,而我们的代码中是十进制,有时候由于二进制和十进制之间对应问题会导致数值的精度问题,比如无法用有限个二进制位完整地表示0.1,因为0.1转化为二进制之后位一个无限循环小数。
那我们如何解决这类问题呢?
方案一:浮点数格式化
方案二,round函数处理
方案三,利用decimal.Decimal函数
赶紧把python的数值运算精度问题梳理学习一下吧,赶紧试一试。