Ce que je voudrais, c'est une méthode pour convertir un double en une chaîne qui arrondit en utilisant la méthode de la moitié - c'est-à-dire que si la décimale à arrondir est 5, elle arrondit toujours au nombre suivant. Il s'agit de la méthode standard d'arrondi que la plupart des gens attendent dans la plupart des situations.
Je voudrais également que seuls les chiffres significatifs soient affichés - c'est-à-dire qu'il ne devrait pas y avoir de zéros à la fin.
Je sais qu'une méthode pour ce faire est d'utiliser la String.format
méthode:
String.format("%.5g%n", 0.912385);
Retour:
0.91239
ce qui est génial, mais il affiche toujours des nombres avec 5 décimales même s'ils ne sont pas significatifs:
String.format("%.5g%n", 0.912300);
Retour:
0.91230
Une autre méthode consiste à utiliser DecimalFormatter
:
DecimalFormat df = new DecimalFormat("#.#####");
df.format(0.912385);
Retour:
0.91238
Cependant, comme vous pouvez le voir, cela utilise un arrondi demi-pair. Autrement dit, il arrondira vers le bas si le chiffre précédent est pair. Ce que j'aimerais, c'est ceci:
0.912385 -> 0.91239
0.912300 -> 0.9123
Quelle est la meilleure façon d'y parvenir en Java?