我有一个小问题,它可能在某个地方很傻,但我仍然拥有它:)
所以问题是:
通过做这个
round(615.36*0.10,2,PHP_ROUND_HALF_DOWN);
我预计结果将是61.53,但它是61.54.
PHPVersion = 5.3.2
谁能帮我解决这个问题?
谢谢.
PHP_ROUND_HALF_DOWN将围绕一半 – 即0.005部分.
如果你有61.535,那么使用PHP_ROUND_HALF_DOWN会得到61.53 – 而不是你应该通过常规舍入获得的61.54.
Basicall,.005的一半被四舍五入.
但是61.536不是一半:.006超过.005;所以舍入该值得到61.54.
在你的情况下,你可以将值乘以100,使用floor()函数,并将结果除以100 – 我想它会给你你期望的:
$value = 61.536; $value_times_100 = $value * 100; $value_times_100_floored = floor($value_times_100); $value_floored = $value_times_100_floored / 100; var_dump($value_floored);
给我 :
float(61.53)