Bonjour,
Je me confronte à un bug que je n'arrive pas à trouver dans des forums ou dans outils de "bug tracking".
Ce que j'essaye de faire devrait être très simple. Comme NumberFormat arrondi par défaut les flottants au troisième chiffre après la virgule, je voudrais qu'il n'effectue pas cet arrondi. J'ai lu alors dans des forums qu'il était possible d'utiliser la méthode setMaximumFractionDigits et de lui donner Integer.MAX_VALUE comme paramètre.
Dans cet exemple, je simplifie en fixant setMaximumFractionDigits à 10.
Voici le code utilisé et les résultats bizarres que j'obtiens :
Résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public static void main(String[] args) { NumberFormat fmt = NumberFormat.getNumberInstance(Locale.FRENCH); fmt.setMaximumIntegerDigits(10); fmt.setMaximumFractionDigits(10); Float f = 100.124f; if (fmt != null) { System.out.println("float : " + f + " , format : " + fmt.format(f)); } }
Avec "Float f = 88888.1f" :float : 100.1 , format : 100,0999984741
float : 88888.1 , format : 88*888,1015625
Avec "Float f = 100.1234567890f" :
float : 100.12346 , format : 100,1234588623
Qu'est ce qui ne tourne pas rond dans ma démarche ?
Des connaisseurs peuvent-ils me renseigner ?
Merci bcp !
Partager