Internalisation Java - DecimalFormat spécifique aux paramètres régionaux
Par défaut, l'objet DecimalFormat utilise les paramètres régionaux de la JVM. Nous pouvons changer les paramètres régionaux par défaut lors de la création de l'objet DecimalFormat à l'aide de la classe NumberFormat. Dans l'exemple ci-dessous, nous utiliserons le même modèle pour deux paramètres régionaux différents et vous pourrez repérer la différence dans la sortie.
IOTester.java
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Locale;
public class I18NTester {
public static void main(String[] args) {
String pattern = "###.##";
double number = 123.45;
Locale enlocale = new Locale("en", "US");
Locale dalocale = new Locale("da", "DK");
DecimalFormat decimalFormat = (DecimalFormat) NumberFormat.getNumberInstance(enlocale);
decimalFormat.applyPattern(pattern);
System.out.println(decimalFormat.format(number));
decimalFormat = (DecimalFormat) NumberFormat.getNumberInstance(dalocale);
decimalFormat.applyPattern(pattern);
System.out.println(decimalFormat.format(number));
}
}
Production
Il imprimera le résultat suivant.
123.45
123,45
Impression