• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

abrunden

hallo,
wie kann ich ABrunden?
finde immer nur seiten zum runden auf mehr oder weniger nachkommastellen.
ich habe ganze zahlen im bereich von z.b. 0 bis 100 und jede zahl soll auf die nächst kleinere durch 20 teilbare zahl ab gerundet werden?
bisher habe ich mit überlegt dass es so gehen könnte:
Code:
while(a%20 != 0) a--;
hätte aber lieber eine js-funktion, wenn es die gibt
gruß simon
 
Werbung:
Hi,
ich denke Modulo zu benutzen ist hier schon der richtige Ansatz.

Nehmen wir nun einfach mal an, du hast die Zahl 96. Diese sollte dann nun auf 80 abgerundet werden richtig?
Wenn du nun 96%20 anwendest bekommst du 16 als Ergebnis zurück, sprich den "Rest". 96-16 ergibt 80 und somit bist du auch schon am Ziel ;)

Also sowas in die Richtung:
Code:
var ungerundet = 96;
var rest = ungerundet%20;

var erg = ungerundet-rest;
 
Werbung:
das stimmt schon, aber man kann ja z.b. mit Math.Round(1,25*10)/10 auf eine nachkommastelle runden ;) ich meinte sowas wie das was wustersoss geschrieben hat, wobei sich herausgestellt hat, dass tomase version in meinem fall praktischer ist.
 
Werbung:
das stimmt schon, aber man kann ja z.b. mit Math.Round(1,25*10)/10 auf eine nachkommastelle runden ;)
Aber du hast schon gemerkt, dass das wegen der Division durch zehn so ist? Du hattest ja gesagt:
finde immer nur seiten zum runden auf mehr oder weniger nachkommastellen.
Das ist doch Unsinn, du hast doch hier die Funktion zum runden auf Null Kommastelle.

Aber in deinem Fall ist der Modulo Operator die optimale Lösung, die hattest du uns aber selbst gezeigt.
 
Werbung:
ich meinte eine möglichkeit mit math.round auf die lösung zu kommen. die schleife kam mir nicht sehr elegant vor; daher habe ich gefargt.
im nachhinein fand ich dann aber tomases lösung am besten, da ich dann nur eine zeile brauche.
 
Zurück
Oben