PHP Wert in 5er Schritten aufrunden

Pfandfinder

Lieutenant
Registriert
Nov. 2020
Beiträge
645
ich möchte meine Werte immer in 5er Schritten aufrunden. ich habe das geschrieben aber das rundet halt auch ab:

PHP:
$input = 6;
echo round($input / 5) * 5;

folgendes will ich aber haben:

1 wird 5
5 bleibt 5
6 wird 10
usw.

wie mache ich das ?
 
Probier mal die "ceil()"-Funktion anstelle von "round()".
 
  • Gefällt mir
Reaktionen: Pfandfinder
Aus der Dokumentation (hier für Dich auf deutsch): dritter Parameter von round()

mode
Eine der folgenden Konstanten kann verwendet werden, um den Rundungsmodus festzulegen.


KonstantenBeschreibung
PHP_ROUND_HALF_UP Rundet num auf halber Strecke von Null weg, womit 1.5 zu 2 wird und -1.5 zu -2.
PHP_ROUND_HALF_DOWN Rundet num auf halber Strecke zu Null hin, womit 1.5 zu 1 wird und -1.5 zu -1.
PHP_ROUND_HALF_EVEN Rundet num auf halber Strecke auf den nächsten geraden Wert, womit sowohl 1.5 als auch 2.5 zu 2 werden.
PHP_ROUND_HALF_ODD Rundet num auf halber Strecke auf den nächsten ungeraden Wert, womit 1.5 zu 1 wird und 2.5 zu 3.
Falsch, das macht nicht das Erwünschte. My bad.
 
  • Gefällt mir
Reaktionen: netzgestaltung
Du kannst modulo rechnen und damit prüfen, ob eine Zahl durch 5 teilbar ist und dann erhöhen um 5 minus die Differenz des Rests. Modulo (%) teilt und gibt den Rest zurück. Also falls du es zu Fuß machen willst und es ganzzahlig bleibt ;)

PHP:
$input = 6;
if($input % 5 !== 0) {
    $input = $input + (5-($input % 5));
}
 
  • Gefällt mir
Reaktionen: netzgestaltung
Zurück
Oben