在减法运算中出现意外小数



我使用Python 3.5。我有一个基本的操作,但我得到一个错误的结果:

def main(argv):
    cms=None
    damin=4.815
    dbmax=4.858
    it=(dbmax-damin)*1000
    print('Damin {0}    Dbmax {1}    IT {2}'.format(damin, dbmax, dbmax-damin))

所以结果是:

Damin 4.815    Dbmax 4.858    IT 0.04299999999999926

但是我期望这个:

Damin 4.815    Dbmax 4.858    IT 0.043

阅读浮点数可能是值得的:https://docs.python.org/3/tutorial/floatingpoint.html

不是每个数字都能如此完美地表示,程序会尽可能地使用最接近的表示。

最新更新