12300 => 12300
12349 => 12300
12350 => 12400
12399 => 12400
| 1 |
Eine coole Community hab ich hier gefunden ;-) Gruß aus der Pfalz!
– tick.tock 09.08.09
|
import java.lang.Math;
myDouble = Math.round( myDouble * 100d ) / 100d;
import java.math.BigDecimal;
BigDecimal myDec = new BigDecimal( myDouble );
// Viele Nachkommstellen und ob auf- oder abgerundet werden soll
myDec = myDec.setScale( 2, BigDecimal.ROUND_HALF_UP );
| 2 |
Die Variante über BigDecimal ist jedoch weitaus speicherintensiver, da für jede zugrunde liegende Operation ein eigenes BigDecimal (mit Subobjekten) generiert wird.
Wie bei vielen mathematischen Operationen kommt es natürlich auf die Skalierung an: 'mal kann man das machen, aber in einer Schleife blind mit BigDecimal zu arbeiten kann tödlich für die Performance sein. – knalli 07.09.09
|
|
| 2 |
das sollte doch eher so aussehen oder? :)
[code]import java.lang.Math; myDouble = Math.round( myDouble / 100d ) * 100d;[/code] – Vayu 11.09.09
|
gerundet = ((wert + 50) / 100) * 100;
gerundet = (wert + 50) - (wert + 50)%100;
|
ich bin mir unsicher ob die Subtraktion nicht doch in Klammern gehört
– stefan.bachert 11.09.09
|