Bonjour,
j'ai un String de la forme "1000,45" et je veux le transformer en float 1000.45 comment je fait. g un probleme a cause de la virgule ',' qui empeche d'utiliser String.valueOf(float f);
Merci d'avance...
Version imprimable
Bonjour,
j'ai un String de la forme "1000,45" et je veux le transformer en float 1000.45 comment je fait. g un probleme a cause de la virgule ',' qui empeche d'utiliser String.valueOf(float f);
Merci d'avance...
Salut,
Un NumberFormat dans la bonne locale (Français en l'occurrence) devrait faire l'affaire...
D'ailleurs c'est indiqué dans la FAQ :
:faq: Comment convertir une chaîne en nombre ?
a++
il existe la method static de a classe Float pour faire cela
Voila ;)Code:float value = Float.parseFloat(String value)
cher arno je ne peux pas faire cela car la valeur String value = 1000,45 et non a 1000.45... la ',' empeche de transformer le string en float...Citation:
float value = Float.parseFloat(String value)
cher adiGuda effectivement ca a fait l'affaire.Citation:
Un NumberFormat dans la bonne locale (Français en l'occurrence) devrait faire l'affaire...
Je ne connais pas tres bien l'objet NumberFormat...
je fait le code suivant....
le probleme est que la valeur en % perd les chiffre apres la virgule .... peut on pallier a ce probleme avec une instruction de NumberFormat spécial?Code:
1
2
3
4 resultat = monFormatteurDeNombre.parse((String)result[2]).doubleValue(); monFormatteurDeNombre= NumberFormat.getPercentInstance(); String res = monFormatteurDeNombre.format(resultat); result[2] = res;
Salut,
sinon tu as 2 autres possibilités qui apparemment fonctionnent :
ouCode:
1
2 float f1 = Float.parseFloat("1000,45".replace(',', '.')); System.out.println(f1);
Code:
1
2
3
4
5
6
7
8 try { float f2 = new DecimalFormat().parse("1000,45").floatValue(); System.out.println(f2); } catch (ParseException e) { e.printStackTrace(); }