Wie rundet man in PHP auf das nächste Vielfache von Fünf auf?

Linda Hamilton
Freigeben: 2024-10-27 08:39:03
Original
365 Leute haben es durchsucht

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

Runden auf das nächste Vielfache von Fünf in PHP

Bei der Arbeit mit Zahlen in PHP ist es oft notwendig, sie auf den nächsten spezifischen Wert zu runden. Ein häufiges Szenario ist das Aufrunden auf das nächste Vielfache von fünf.

Problemstellung

Gesucht wird eine PHP-Funktion, die eine ganze Zahl als Eingabe verwendet und ihr nächstes Vielfaches von fünf zurückgibt. Wenn es beispielsweise mit 52 aufgerufen wird, sollte es 55 zurückgeben.

Die integrierte Funktion „round()“ bietet diese Funktionalität standardmäßig nicht. Bei Verwendung mit negativer Genauigkeit wird auf die nächste Zehnerpotenz gerundet.

Lösung

Um das gewünschte Rundungsverhalten zu erreichen, kann eine benutzerdefinierte Funktion erstellt werden:

<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>
Nach dem Login kopieren

Anwendungsbeispiel

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

Andere Rundungsstrategien

Zusätzlich zum Aufrunden auf das nächste Vielfache können Sie auf Szenarien stoßen, in denen andere Rundungsstrategien erforderlich sind. Hier ein paar Variationen:

1. Auf das nächste Vielfache runden, unter Ausschluss der aktuellen Zahl

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

2. Runden Sie auf das nächste Vielfache, einschließlich der aktuellen Zahl

<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>
Nach dem Login kopieren

3. Auf eine ganze Zahl aufrunden und dann auf das nächste Vielfache aufrunden

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

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

    return roundUpToNearestMultiple($roundedNumber, $multiplier);
}</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie rundet man in PHP auf das nächste Vielfache von Fünf auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!