减法时出现意外的小数

时间:2015-09-29 07:13:03

标签: python floating-point numeric floating-accuracy

我正在使用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

1 个答案:

答案 0 :(得分:0)

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

并非每个数字都可以完美地表示,程序最好尽可能使用最接近的表示。包括解释写入代码的幻数时。