我相信 floor 函数的这种行为是故意的。请注意,它说“下一个最低整数”。-1 比 -1.6 “高”。也就是说,-1 在逻辑上大于 -1.6。为了降低,floor 函数将转到 -2,这在逻辑上小于 -1.6。
Floor 并不试图给你最接近零的数字,而是给你浮点数的最低边界整数。
回复 Glen 的评论
Glen
2007 年 12 月 1 日 04:22
<?php
echo floor(1.6); // 将输出“1"
echo floor(-1.6); // 将输出“-2"
?>
改用 intval(似乎在 v5.1.6 中有效)
<?php
echo intval(1.6); // 将输出“1"
echo intval(-1.6); // 将输出“-1"
?>