zahl A auf das vielfache von zahl B abrunden
michael
- php
hallo alle zusammen,
vielleicht liegts an der späten stunde, vielleicht bin ich auch nur zu dämlich, aber ich habe ein problem auf das ich keine lösung finde...
also:
ich habe einen ganzzahligen wert $nummer (bspw. $nummer=17). ich habe einen weiteren wert $anzahl (bspw. $anzahl=5).
wie stelle ich es nun an, daß $nummer auf das "nächstgelegene" vielfache von $anzahl abgerundet wird. in meinem beispiel müßte ich also 17 ($nummer) auf 15 (3*$anzahl) abgerunden...? oder halt 28 abrunden auf 25, 31 abrunden auf 30, 126 auf 125 usw.
ich dache, vielleicht könnte floor() (ja, genau - php ;-)) irgendwie helfen, aber das gilt ja nur bei fließkommazahlen...
habt ihr da eine idee? ich sitze da echt wie der sprichwörtliche ochse vorm berg :-)
vielen dank für jede idee !!
grüße, michael
Hallo,
ich habe einen ganzzahligen wert $nummer (bspw. $nummer=17).
ich habe einen weiteren wert $anzahl (bspw. $anzahl=5).wie stelle ich es nun an, daß $nummer auf das "nächstgelegene" vielfache von $anzahl abgerundet wird.
in meinem beispiel müßte ich also 17 ($nummer) auf 15 (3*$anzahl) abgerunden...?
oder halt 28 abrunden auf 25, 31 abrunden auf 30, 126 auf 125 usw.
habt ihr da eine idee?
Jep.
$nummer = floor($number/$anzahl)*$anzahl;
Das funktioniert genau so, wie auf 2 Stellen hinterm Komma runden,
wenn man keine eigene Funktion dafür zu Verfügung hat:
$nummer = round($number/100)*100;
(ohne den zweiten Parameter)
Hilft das weiter?
Gruß
Alexander Brock
Moin,
Jep.
$nummer = floor($number/$anzahl)*$anzahl;
Naja, damit zieht man sich aber evt. Genauigkeitsprobleme mit Fließkommazahlen (Marke 15,000000001) zu. Einfacher und vielleicht auch schöner anzusehen ist da doch der modulo: $nummer = $number - $number % $anzahl
morgen,
vielen dank euch beiden. das hat mir enorm weitergeholfen !!
glaube, auf so raffinierte lösungen wäre ich gestern nie und nimmer gekommen .... (heute wahrscheinlich auch nicht) ;-)