Je vous suggère d'utiliser BigDecimal
au lieu de float
, comme c'est une représentation plus naturelle où décimales chiffres ont un sens.
Cependant, je ne pense pas que vous voulez vraiment la méthode round
, comme qui traite avec précision au lieu de échelle. Je pense que vous voulez setScale
, comme l'a démontré ici:
import java.math.*;
public class Test {
public static void main(String[] args) {
roundTo2DP("74.126");
roundTo2DP("74.125");
}
private static void roundTo2DP(String text) {
BigDecimal before = new BigDecimal(text);
BigDecimal after = before.setScale(2, RoundingMode.HALF_DOWN);
System.out.println(after);
}
}
Il est mathématique standard pour arrondir quand X.5 et arrondir vers le bas lorsque
halfdan
double possible de [Comment arrondir un nombre à n décimales en Java ] (http://stackoverflow.com/questions/153724/how-to-round-a-number-to-n-decimal-places-in-java) –