扫码关注官方订阅号
下面这段代码,输出后发生了神奇的事情:
a = 19.949999999999999 print(a) ---------- 输出:19.95
我想输出原始的 19.949999999999999 呃。
19.949999999999999
认证高级PHP讲师
精度问题,Python内部的浮点数用double类型,典型机器上8个字节,53bit有效位,合十进制有效数字约15位。 你的数字里小数点前后一共有17位有效数字,所以就被四舍五入了。 如果你想表示任意精度的数字,用decimal模块里Decimal类型,比如:
from decimal import Decimal a=Decimal('19.949999999999999') print a
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
精度问题,Python内部的浮点数用double类型,典型机器上8个字节,53bit有效位,合十进制有效数字约15位。
你的数字里小数点前后一共有17位有效数字,所以就被四舍五入了。
如果你想表示任意精度的数字,用decimal模块里Decimal类型,比如: