浮点数print()输出后只保留俩小数是何原理?,点数print,下面这段代码,输出后发生


下面这段代码,输出后发生了神奇的事情:

a = 19.949999999999999print(a)----------输出:19.95

我想输出原始的 19.949999999999999 呃。

精度问题,Python内部的浮点数用double类型,典型机器上8个字节,53bit有效位,合十进制有效数字约15位。
你的数字里小数点前后一共有17位有效数字,所以就被四舍五入了。
如果你想表示任意精度的数字,用decimal模块里Decimal类型,比如:

from decimal import Decimala=Decimal('19.949999999999999')print a

编橙之家文章,

评论关闭