Java: Utilisation DecimalFormat de format double et les nombres entiers, mais les garder entiers sans séparateur décimal
Je suis en train de format des nombres dans un programme Java. Les numéros seront à la fois double et entiers. Lors de la manipulation des doubles, je veux garder que deux points décimaux, mais lors de la manipulation des entiers je veux que le programme pour les garder intactes. En d'autres termes:
Double - Entrée
14.0184849945
Double - Sortie
14.01
Entiers - Entrée
13
Entiers - Sortie
13 (not 13.00)
Est-il un moyen de mise en œuvre dans l' même DecimalFormat exemple? Mon code est le suivant, jusqu'à présent:
DecimalFormat df = new DecimalFormat("#,###,##0.00");
DecimalFormatSymbols otherSymbols = new DecimalFormatSymbols(Locale.ENGLISH);
otherSymbols.setDecimalSeparator('.');
otherSymbols.setGroupingSeparator(',');
df.setDecimalFormatSymbols(otherSymbols);
Pourquoi a-t-elle être la même
Parce que les chiffres qui le programme, les formats de tous les temps sont soit des doubles ou des entiers, sans connaître le type d'avant la formation. Donc, je veux la même instance qui va "comprendre" si un nombre est double garniture supplémentaire décimale à points, ou il est un entier -pour le garder intact.
DecimalFormat
exemple? Quel est le problème avec le fait d'avoir 2 DecimalFormat
cas, l'un pour les garder deux chiffres après le point décimal, et celui de ne pas avoir de chiffres après la virgule?Parce que les chiffres qui le programme, les formats de tous les temps sont soit des doubles ou des entiers, sans connaître le type d'avant la formation. Donc, je veux la même instance qui va "comprendre" si un nombre est double garniture supplémentaire décimale à points, ou il est un entier -pour le garder intact.
OriginalL'auteur Lefteris008 | 2013-04-30
Vous devez vous connecter pour publier un commentaire.
Vous suffit de définir le
minimumFractionDigits
à 0. Comme ceci:maintenant, il formats 44,0 à 44 et 55.60 à 55,6 . Comment garder le zéro à la fin à l'aide de format ?
OriginalL'auteur Rodrigo Sasaki
Pourriez-vous pas juste wrapper ce dans un Utilitaire d'appel. Par exemple
Vous pouvez ensuite simplement faire des choses comme:
MyFormatter.format(int)
etc.format
méthode ne fait pas faire quoi que ce soit. Suffit de le retirer et de l'utilisation de laNumber
type pour lenumber
paramètre.OriginalL'auteur Jeremy Unruh