Assert计算精度
计算机其实是不认识十进制数,它只认识二进制数,也就是说,当我们以十进制数进行运算的时候,计算机需要将各个十进制数转换成二进制数,然后进行二进制间的计算。如进行浮点数金额计算时会出现如下错误:
class TestAdd:
def test_add_01(self):
assert 0.1 + 0.2 == 0.3
执行结果:

为了解决这个问题,可以依赖第三方库,decimal,安装方式
pip install pydecimal
安装完毕后,计算金额时,操作如下:
from decimal import Decimal
class TestAdd:
# def test_add_01(self):
# assert 0.1 + 0.2 == 0.3
def test_add_02(self):
assert Decimal("0.1") + Decimal("0.2") == Decimal("0.3")
结果:


浙公网安备 33010602011771号