echo number_format(19.99 * 100, 20); // output:1,998.99999999999977262632
为什么会这样?浮点型是怎么存储的。我的想法可能是浮点型本来就不是精确存储的。
解决了这个问题也就知道为什么intval
后的值是1998
了。
echo number_format(19.99 * 100, 20); // output:1,998.99999999999977262632
为什么会这样?浮点型是怎么存储的。我的想法可能是浮点型本来就不是精确存储的。
解决了这个问题也就知道为什么intval
后的值是1998
了。
2 回答1.3k 阅读✓ 已解决
2 回答822 阅读✓ 已解决
1 回答896 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
2 回答880 阅读
1 回答872 阅读
1 回答802 阅读
浮点数的存储精度跟系统有关,PHP 通常使用 IEEE 754 双精度格式,默认是20位有效精度。Floating point numbers
浮点数使用指南