web-dev-qa-db-fra.com

Comment formater Double avec point?

Comment formater un double avec String.format à String avec un point entre l'entier et la partie décimale?

String s = String.format("%.2f", price);

Les formats ci-dessus uniquement avec une virgule: ",".

42
Shikarn-O

String.format(String, Object ...) utilise les paramètres régionaux par défaut de votre JVM. Vous pouvez utiliser les paramètres régionaux à l'aide de String.format(Locale, String, Object ...) ou Java.util.Formatter directement.

String s = String.format(Locale.US, "%.2f", price);

ou

String s = new Formatter(Locale.US).format("%.2f", price);

ou

// do this at application startup, e.g. in your main() method
Locale.setDefault(Locale.US);

// now you can use String.format(..) as you did before
String s = String.format("%.2f", price);

ou

// set locale using system properties at JVM startup
Java -Duser.language=en -Duser.region=US ...
99
sfussenegger

Sur cette base post vous pouvez le faire comme ça et cela fonctionne pour moi sur Android 7.0

import Java.text.DecimalFormat
import Java.text.DecimalFormatSymbols

DecimalFormat df = new DecimalFormat("#,##0.00");
df.setDecimalFormatSymbols(new DecimalFormatSymbols(Locale.ITALY));
System.out.println(df.format(yourNumber)); //will output 123.456,78

De cette façon, vous avez des points et des virgules en fonction de votre Locale

Réponse modifiée et corrigée grâce au commentaire de Kevin van Mierlo

1
Ultimo_m