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 :

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", ""));
	}
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
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", ""));
	}
Et là, je n'ai compris le résultat obtenu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
1 000 000
1000000
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 ?

Merci pour votre aide.