如何四舍五入到下一个偶数?
How to round up to the next even number?
我想四舍五入到下一个偶数,php。
示例:
- 如果 71 -> 四舍五入到 72
- 如果 33.1 -> 四舍五入到 34
- 如果 20.8 -> 四舍五入到 22
$num = ceil($input); // Round up decimals to an integer
if($num % 2 == 1) $num++; // If odd, add one
测试用例:
$tests = ['71' => '72', '33.1' => '34', '20.8' => '22'];
foreach($tests as $test => $expected) {
$num = ceil($test);
if($num % 2 == 1) $num++;
echo "Expected: $expected, Actual: $num\n";
}
Expected: 72, Actual: 72
Expected: 34, Actual: 34
Expected: 22, Actual: 22
$num = ceil($input); // Round up Floats to an integer
$num += $num % 2; // add $num modulo 2 remainder (is 1 if odd, 0 if even)
更多选项:
$num += $num % 2; //next even
$num -= $num % 2; //prev even
$num += ($num + 1) % 2; //next odd
$num -= ($num + 1) % 2; //prev odd
我想四舍五入到下一个偶数,php。
示例:
- 如果 71 -> 四舍五入到 72
- 如果 33.1 -> 四舍五入到 34
- 如果 20.8 -> 四舍五入到 22
$num = ceil($input); // Round up decimals to an integer
if($num % 2 == 1) $num++; // If odd, add one
测试用例:
$tests = ['71' => '72', '33.1' => '34', '20.8' => '22'];
foreach($tests as $test => $expected) {
$num = ceil($test);
if($num % 2 == 1) $num++;
echo "Expected: $expected, Actual: $num\n";
}
Expected: 72, Actual: 72
Expected: 34, Actual: 34
Expected: 22, Actual: 22
$num = ceil($input); // Round up Floats to an integer
$num += $num % 2; // add $num modulo 2 remainder (is 1 if odd, 0 if even)
更多选项:
$num += $num % 2; //next even
$num -= $num % 2; //prev even
$num += ($num + 1) % 2; //next odd
$num -= ($num + 1) % 2; //prev odd