PHP에서 숫자로 작업할 때 가장 가까운 특정 값으로 반올림해야 하는 경우가 많습니다. 일반적인 시나리오 중 하나는 가장 가까운 5의 배수로 반올림하는 것입니다.
정수를 입력으로 사용하고 가장 가까운 5의 배수를 반환하는 PHP 함수를 찾습니다. 예를 들어 52로 호출하면 55를 반환해야 합니다.
내장된 round() 함수는 기본적으로 이 기능을 제공하지 않습니다. 음수 정밀도와 함께 사용하면 가장 가까운 10의 거듭제곱으로 반올림됩니다.
원하는 반올림 동작을 달성하려면 사용자 정의 함수를 생성할 수 있습니다.
<code class="php">function roundUpToNearestMultiple($number, $multiplier = 5) { // Check if the number is already a multiple of the multiplier if ($number % $multiplier == 0) { return $number; } // Calculate the nearest multiple of the multiplier greater than the number $nextMultiple = ceil($number / $multiplier) * $multiplier; // Round the number up to the next multiple return $nextMultiple; }</code>
<code class="php">echo roundUpToNearestMultiple(52); // Outputs 55 echo roundUpToNearestMultiple(55); // Outputs 55 echo roundUpToNearestMultiple(47); // Outputs 50</code>
가장 가까운 배수로 반올림하는 것 외에도 다양한 반올림 전략이 필요한 시나리오가 발생할 수 있습니다. 다음은 몇 가지 변형입니다.
1. 현재 숫자를 제외하고 다음 배수로 반올림
<code class="php">function roundUpToNextMultiple($number, $multiplier = 5) { return roundUpToNearestMultiple($number + 1, $multiplier); }</code>
2. 현재 숫자를 포함하여 가장 가까운 배수로 반올림
<code class="php">function roundToNearestMultipleInclusive($number, $multiplier = 5) { if ($number % $multiplier == 0) { return $number; } $lowerMultiple = floor($number / $multiplier) * $multiplier; $upperMultiple = ceil($number / $multiplier) * $multiplier; return round($number - $lowerMultiple) > round($upperMultiple - $number) ? $lowerMultiple : $upperMultiple; }</code>
3. 정수로 반올림한 후 가장 가까운 배수로 올림
<code class="php">function roundUpToIntegerAndNearestMultiple($number, $multiplier = 5) { $roundedNumber = ceil($number); if ($roundedNumber % $multiplier == 0) { return $roundedNumber; } return roundUpToNearestMultiple($roundedNumber, $multiplier); }</code>
위 내용은 PHP에서 가장 가까운 5의 배수로 반올림하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!