Bonjour,
Je souhaite formater un Float en ayant les résultats suivant après le formatage :
10.0f => "10"
10000.0f => "10000"
1005.75f => "1005,75"
En passant via NumberFomat, jarrive à avoir le résultat suivant :
10.0f => "10"
10000.0f => "10 000"
1005.75f => "1 005,75"
En fait, ce qui me pose problème c'est l'espace ajouté dans le deuxième et troisième cas, j'ai essayé ensuite de remplacer l'espace par un "" mais ça ne marche pas :
Je me rappel que j'ai déjà utilisé le pattern \\s pour remplacer les espaces sans problème, du coup j'ai testé le bout de code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public static void main(final String[] args) { Float f = 1000000.0f; String valueF = DecimalFormat.getInstance().format(f); System.out.println(valueF.replaceAll("\\s", "")); }
Et là, je n'ai compris le résultat obtenu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public static void main(final String[] args) { Float f = 1000000.0f; String valueF = DecimalFormat.getInstance().format(f); String value = "1 000 000"; System.out.println(valueF.replaceAll("\\s", "")); System.out.println(value.replaceAll("\\s", "")); }
Est ce que l’espace dans le première cas n'est pas réellement un espace identifié par \\s ?? comment pourrais je remplacer l'espace alors ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 1 000 000 1000000
Merci pour votre aide.
Partager