php - 我尝试了`intval(6.02 * 100)`,结果是602,但是为什么`intval(5.02 * 100)`的结果是501呢?
问题描述
我试intval(6.02 * 100)
了一下,结果是602。但是为什么结果intval(5.02 * 100)
是501?
解决方案
这是一个浮点数学问题。以下可能有助于解释它:
ini_set('precision', 17);
echo (float)5.02;
5.0199999999999996
echo 5.02 * 100;
501.99999999999994
echo intval(501.99999999999994);
501
关于这个话题的更多讨论: php intval() and floor() return value that is too low?
推荐阅读
- uml - 为财务软件设计领域模型(类图)
- javascript - React Native 将日期保持为类组件中的状态
- nuget-package - 将 nuget 内容文件夹复制到项目输出文件夹
- java - 在 Java 中使用 .repeat() 方法时找不到符号(代码在 Netbeans 中运行)
- go - 如何在 gowsdl 上添加 AuthHeader
- python - 如何在 python 中导入 csv 文件中的变量值?
- php - Mysql 插入 jQuery $(this).attr('id')
- python - Key Error: 1 在处理上述异常的过程中,又发生了一个异常
- wordpress - 如何将wordpress的插件升级到第五版?
- docker - 我的 cloudbuild.yaml 失败了。请查看我的 cloudbuild.yaml