扫码关注官方订阅号
echo number_format(19.99 * 100, 20); // output:1,998.99999999999977262632
为什么会这样?浮点型是怎么存储的。我的想法可能是浮点型本来就不是精确存储的。 解决了这个问题也就知道为什么intval后的值是1998了。
intval
1998
学习是最好的投资!
浮点数的存储精度跟系统有关,PHP 通常使用 IEEE 754 双精度格式,默认是20位有效精度。Floating point numbers
浮点数使用指南
贴上中文的浮点型 http://php.net/manual/zh/language.types.float.php
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
浮点数的存储精度跟系统有关,PHP 通常使用 IEEE 754 双精度格式,默认是20位有效精度。Floating point numbers
浮点数使用指南
贴上中文的浮点型 http://php.net/manual/zh/language.types.float.php