Rundung eine Java BigDecimal zum nächsten Intervall

Habe ich einen BigDecimal-Berechnung Ergebnis, das ich brauche, um Runden auf den nächsten angegebenen Intervall (in diesem Fall ist es der financial market tick size).

z.B. Preis [Tick Size] -> Gerundet Preis

100.1 [0.25] -> 100
100.2 [0.25] -> 100.25
100.1 [0.125] -> 100.125
100.2 [0.125] -> 100.25

Dank.

Update: schnaader Lösung, übersetzt in Java/BigDecimal Begriffe:

price = price.divide(tick).setScale(0, RoundingMode.HALF_UP).multiply(tick)
  • Für die Auffindbarkeit, diese Technik kann verwendet werden, um eine Prozentsatz-Wert zu einem beliebigen Bruchteil einer basis zeigen.
InformationsquelleAutor Jon | 2009-03-13
Schreibe einen Kommentar