是否存在任何函数或可能性,如果数字非常接近,则该数字将舍入到最接近的整数值。例如:
$var = 18.99;
$res = round($var, 2); // output: 18.99, expected - 19
我尝试了没有第二个参数的圆形,但是18.65会失败。
$var = 18.99;
$res = round($var); //output - 19
$var = 18.65;
$res = round($var); //output - 19, expected 18.65
我只想让.9
范围将itselt转换为下一个int值。这可能吗?
答案 0 :(得分:4)
这基本上将任何值舍入到最接近的整数,然后用限制检查两者的差异。
function nearly_round($value, $limit = 0.1) {
$rounded = round($value);
//Check the difference. If less than the limit,
//return the rounded value, else the original number.
return abs($rounded - $value) < $limit ? $rounded : $value;
}
echo nearly_round(-0.9); // -1
echo nearly_round(-0.8); // -0.8
echo nearly_round(0.8); // 0.8
echo nearly_round(0.9); // 1