Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengumpulkan kepada Gandaan Lima Terdekat dalam PHP?

Bagaimana untuk Mengumpulkan kepada Gandaan Lima Terdekat dalam PHP?

Linda Hamilton
Linda Hamiltonasal
2024-10-27 08:39:03366semak imbas

How to Round Up to the Nearest Multiple of Five in PHP?

Membundarkan kepada Gandaan Lima Terdekat dalam PHP

Apabila bekerja dengan nombor dalam PHP, selalunya perlu untuk membundarkannya kepada nilai khusus yang terdekat. Satu senario biasa ialah membundarkan kepada gandaan lima terdekat.

Pernyataan Masalah

Fungsi PHP dicari yang mengambil integer sebagai input dan mengembalikan gandaan lima terhampirnya. Contohnya, apabila dipanggil dengan 52, ia sepatutnya mengembalikan 55.

Fungsi round() terbina dalam tidak menyediakan fungsi ini secara lalai. Apabila digunakan dengan ketepatan negatif, ia membundarkan kepada kuasa terdekat sepuluh.

Penyelesaian

Untuk mencapai gelagat pembundaran yang diingini, fungsi tersuai boleh dibuat:

<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>

Contoh Penggunaan

<code class="php">echo roundUpToNearestMultiple(52); // Outputs 55
echo roundUpToNearestMultiple(55); // Outputs 55
echo roundUpToNearestMultiple(47); // Outputs 50</code>

Strategi Pembundaran Lain

Selain membulatkan ke gandaan terdekat, anda mungkin menghadapi senario di mana strategi pembundaran berbeza diperlukan. Berikut ialah beberapa variasi:

1. Bundarkan kepada Gandaan Seterusnya, Tidak Termasuk Nombor Semasa

<code class="php">function roundUpToNextMultiple($number, $multiplier = 5) {
    return roundUpToNearestMultiple($number + 1, $multiplier);
}</code>

2. Bundarkan kepada Gandaan Terdekat, Termasuk Nombor Semasa

<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. Bundarkan kepada Integer, Kemudian kepada Gandaan Terdekat

<code class="php">function roundUpToIntegerAndNearestMultiple($number, $multiplier = 5) {
    $roundedNumber = ceil($number);

    if ($roundedNumber % $multiplier == 0) {
        return $roundedNumber;
    }

    return roundUpToNearestMultiple($roundedNumber, $multiplier);
}</code>

Atas ialah kandungan terperinci Bagaimana untuk Mengumpulkan kepada Gandaan Lima Terdekat dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn