我有一個簡單的圓形功能。它變成偶數。我想確保這個數字可以被16整除。任何人都知道一個簡單的方法將數字四捨五入到16的整數。如何將一個數字四捨五入爲可以被16整除的最接近的數字?
$num=round(480/$other_num); //will output some number.
我有一個簡單的圓形功能。它變成偶數。我想確保這個數字可以被16整除。任何人都知道一個簡單的方法將數字四捨五入到16的整數。如何將一個數字四捨五入爲可以被16整除的最接近的數字?
$num=round(480/$other_num); //will output some number.
$num = 39;
$num = round($num/16) * 16; // 32
也許你可以位和數字與0xf和加1?
function round16($num) {
if ($num % 16 == 0) return $num;
$num2 = $num;
$remain = 0;
do {
$remain = --$num % 16;
} while ($remain != 0 && $num >= $num2 - 7);
if ($remain == 0) return $num;
do {
$remain = ++$num2 % 16;
} while ($remain != 0);
return $num2;
}
可能不是最有效的方式做到這一點。
簡單的方法似乎以16分被,然後用「經典輪」和16
$num=round(480/16)*16;
感謝添乘回來。欣賞它。 – Scarface
使用'floor()',如果你需要總是將它舍入(而不是最近的向上或向下)。 – silkfire