php int处理的异常,如何解释

如下代码

$qty = 50.852;
echo (int) ($qty * 10000);

// 期望结果:508520
// 实际结果:508519

以上问题如何解释?并且如何处理会得到期望结果?

阅读 3k
2 个回答

点击这里
你可以看下鸟哥对于浮点数的解释。

原来的答案不对,删除,补充题目相关内容如下:

$qty = 50.852;
echo $qty * 10000; //508520
echo (int) ($qty * 10000); //508519
echo round($qty * 10000); //508520
echo (int)($qty * 100000); //5085200
echo (int)($qty * 1000); //50852
echo (int)(508520); //508520
echo (int)50.852; //50
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
1 篇内容引用
推荐问题