Comment arrondir au multiple de cinq le plus proche en PHP ?

Linda Hamilton
Libérer: 2024-10-27 08:39:03
original
365 Les gens l'ont consulté

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

Arrondi au multiple de cinq le plus proche en PHP

Lorsque vous travaillez avec des nombres en PHP, il est souvent nécessaire de les arrondir à la valeur spécifique la plus proche. Un scénario courant consiste à arrondir au multiple de cinq le plus proche.

Énoncé du problème

Une fonction PHP est recherchée qui prend un entier en entrée et renvoie son multiple de cinq le plus proche. Par exemple, lorsqu'elle est appelée avec 52, elle doit renvoyer 55.

La fonction round() intégrée ne fournit pas cette fonctionnalité par défaut. Lorsqu'il est utilisé avec une précision négative, il arrondit à la puissance dix la plus proche.

Solution

Pour obtenir le comportement d'arrondi souhaité, une fonction personnalisée peut être créée :

<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>
Copier après la connexion

Exemple d'utilisation

<code class="php">echo roundUpToNearestMultiple(52); // Outputs 55
echo roundUpToNearestMultiple(55); // Outputs 55
echo roundUpToNearestMultiple(47); // Outputs 50</code>
Copier après la connexion

Autres stratégies d'arrondi

En plus d'arrondir au multiple supérieur le plus proche, vous pouvez rencontrer des scénarios dans lesquels différentes stratégies d'arrondi sont nécessaires. Voici quelques variantes :

1. Arrondir au multiple suivant, à l'exclusion du nombre actuel

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

2. Arrondir au multiple le plus proche, y compris le nombre actuel

<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>
Copier après la connexion

3. Arrondir à un nombre entier, puis au multiple le plus proche

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

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

    return roundUpToNearestMultiple($roundedNumber, $multiplier);
}</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!