Wie eine Runde schwimmen, um die nächsten Viertel
Manchmal muss ich eine Runde schwimmen, um die nächste Viertel und manchmal auf die nächste Hälfte.
Für die Hälfte, die ich verwenden
Math.round(myFloat*2)/2f
Kann ich verwenden
Math.round(myFloat*4)/4f
.
aber gibt es irgendwelche anderen Vorschläge?
- Ich sehe nicht das problem...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alles, was Sie brauchen, ist:
Seit einer halben ist auch zwei Viertel dieser einzigen Gleichung kümmert sich um Ihre halb-Rundung als gut. Sie müssen nicht zwei verschiedene Gleichungen für eine halbe oder eine Viertel Rundung.
Code-Beispiel:
Ausgabe:
Math.round (3.8*4)/4f == 3.75
one half is two quarters
und: download.oracle.com/javase/1.4.2/docs/api/java/lang/...Math.round (3.8*2)/2f == 4.0
, nicht3.75
.(3.8*4)/4f
so Ihre Koeffizienten ist 4 anstatt 2. (Nicht sicher, Koeffizient ist der richtige Begriff in diesem Fall. Jede bessere Begriff?)(Math.round(num/toNearest))*toNearest;
Rundet eine Zahl auf
toNearest
Mathematisch das sprechen, Sie könnten multiply float-die von .25, um Sie, und teilen Sie dann wieder durch .25.
EDIT: tut mir Leid, es scheint, dass ich falsch verstanden, was du meintest von Quartal zu Quartal. Allerdings, soweit ich weiß, ist dies der einfachste Weg, um rund um die verschiedenen Dezimalstellen Grad.