Comment format double de la valeur pour un endroit donné et le nombre de décimales?
Comment puis-je utiliser NumberFormat
pour formater un double
pour une Locale
(paramètres régionaux par défaut est suffisant) et pour un nombre donné de chiffres après la virgule?
Par exemple, j'ai ces valeurs:
double d1 = 123456.78;
double d2 = 567890;
Et j'ai envie de les imprimer de la manière suivante, par exemple avec NOUS régionaux et 2 décimales:
123,456.78
567,890.00
Je n'ai pas vraiment de soins au sujet de mode d'arrondi dans ce cas, parce que ces deux valeurs sont obtenues à partir d'un BigDecimal
avec l'échelle, de sorte que leur nombre de décimales est toujours inférieur ou égal à celui du nombre de décimales je veux imprimer.
Edit:
Pour rendre les choses un peu plus clair, le truc c'est que je veux afficher l'argent dans un jeu de paramètres régionaux dépendant de la sorte, mais avec un nombre fixe de décimales. L'exemple ci-dessus a montré, comment les valeurs doivent être formatées si les paramètres régionaux du système est en_US
. Maintenant, disons, les paramètres régionaux du système est cs_CZ
(tchèque), de sorte que le même nombre doit être formaté de cette manière:
123 456,78
567 890,00
Maintenant, comment puis-je configurer un NumberFormat pour toujours afficher les 2 décimales, mais pour afficher le séparateur de milliers et point décimal basé sur les paramètres régionaux en cours?
OriginalL'auteur Natix | 2012-05-02
Vous devez vous connecter pour publier un commentaire.
Si vous prenez soin de lire NumberFormat de la documentation, la solution est évidente:
Sur ma machine, elle imprime:
Je crois que c'est ce que vous cherchez, et vous n'avez pas à confusion avec des motifs. Je ne le ferais pas, par exemple il y a des locales qui groupe les chiffres par deux, pas trois (c'est la raison pour laquelle nous parlons de séparateur de groupe et pas séparateur de milliers).
Dyda Comment convertir une chaîne 123,456.78 en NOUS la locale, une valeur double 123456.78?
OriginalL'auteur
Adapté de Personnalisation De Formats,
Cette fonction devrait vous donner la nécessaire mise en forme.
OriginalL'auteur
Vous pouvez utiliser quelque chose comme
OriginalL'auteur
convertit une valeur de type double pour une valeur double avec n'importe quel nombre de chiffres après la virgule.
J'ai créé cette méthode dans une classe Utilitaire pour y accéder à travers le projet.
OriginalL'auteur