Comment modifier le séparateur par defaut appelé par la méthode printf ?
Bonjour.
Je suis novice++ en java et je tente doucement de me former...
Après avoir suivit un tuto sur les différents format de printf, je me suis aperçu que mon séparateur de groupage affiche le caractère '?'.
C'est d'ailleurs ce qu'il affiche aussi pour Maths.PI, donc si j'ai bien compris, ma police par défaut n'est pas UNICO... c'est un autre pb (quye je ne sais pas non
Voici le code de base :
Code:
1 2 3 4 5 6 7
|
int price = 1_234_567_890;
System.out.println( "Exemple d'affichage de nombres selon la localisation : ");
System.out.printf( "Affichage par defaut : %,d\n", price );
System.out.printf( new Locale( "fr", "FR" ), "Affichage France : %,d\n", price );
System.out.printf( new Locale( "en", "US" ), "Affichage USA : %,d\n", price );
System.out.printf( new Locale( "it", "IT" ), "Affichage Italie : %,d\n", price ); |
Qui m'affiche :
Code:
1 2 3 4 5
|
Affichage par defaut : 1?234?567?890
Affichage France : 1?234?567?890
Affichage USA : 1,234,567,890
Affichage Italie : 1.234.567.890 |
Je sais que ce code marche :
Code:
1 2 3 4 5 6 7
|
DecimalFormat format = new DecimalFormat(); // c'est pas necessaire de mettre 3 blocs mais je me rappelle plus la syntaxe exacte
DecimalFormatSymbols s = format.getDecimalFormatSymbols();
s.setGroupingSeparator(' ');
format.setDecimalFormatSymbols(s);
int number = 123456789;
System.out.println(format.format(number)); |
Mais ici format.format(number) est un string.
Ma question est : comment modifier le setGroupingSeparator pour que, en tapant
Code:
1 2 3
|
int price = 1_234_567_890;
System.out.printf( Locale.getDefault(), "Affichage par défaut : %,d\n", price ); |
j'ai bien 1 234 567 890 ou 1*234*567*890 qui soit affiché à ma gise quand j'utilise la fonction printf avec l'option %,
s.setGroupingSeparator(' ') modifie l'objet DecimalFormatSymbols mais comment rattacher cet objet à Locale.getDefault() ?
J'ai relut la javadoc , mais je ne suis pas assez allaise pour réussir à trouver la réponse...
https://docs.oracle.com/javase/8/docs/api/index.html
Et pour ne pas paraitre ridicule, je ne dirais pas depuis combien de temps je bloque la dessus...
Dans l'attente de vos conseils et en vous remerciant