S'il vous plaît trouver mon code ci-dessous:question DecimalSeparator avec String.Format()
double value = (double)-16325.62015;
System.out.println(String.format("%s", value));//-16325.62015
System.out.println(String.format(new Locale("de", "DE"), "%s", value));//-16325.62015
DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance(new Locale("de", "DE"));
System.out.println(dfs.getDecimalSeparator());//,
Dans le code ci-dessus, Im obtenir le mauvais séparateur décimal pour les paramètres régionaux allemand.
J'ai essayé le code ci-dessous aussi, mais il produit -16325,6
double value = (double)-16325.62015;
DecimalFormatSymbols dfs = DecimalFormatSymbols.getInstance(new Locale("de", "DE"));
DecimalFormat df = new DecimalFormat("#.#", dfs);
System.out.println(df.format(value));
est-il une autre façon d'imprimer la sortie comme -16325,62015
Note: Je veux imprimer recto valeur avec un nombre n de décimales pour les paramètres régionaux
spécifique de Merci à l'avance
Vous ne formatez pas de numéro: vous formatez une chaîne. Regardez attentivement les différents paramètres tels que "% s". –
Dans le second extrait de code, il produit exactement ce qu'il a dit 'DecimalFormat' pour produire: un point flottant avec une précision à un chiffre. Je vous conseille à nouveau de regarder ce que signifient différents formats décimaux et comment en configurer un. –