Bagaimana untuk Mengumpulkan kepada Gandaan Lima Terdekat dalam PHP?

Linda Hamilton
Lepaskan: 2024-10-27 08:39:03
asal
365 orang telah melayarinya

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>
Salin selepas log masuk

Contoh Penggunaan

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

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!