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