schub1015
Messages postés32Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention10 juillet 2007
-
10 juil. 2007 à 17:46
theguitou
Messages postés75Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention14 janvier 2009
-
13 juil. 2007 à 11:58
bonjour à tous,
je développe sous Java 1.1.8 (je sais c vieux mais l'architecture du projet est telle quelle )
Je voudrais formatter une saisie d'utilisateur pour etre sur que celui-ci a saisi un float.
Voici mon code :
String writtenText; // texte saisi par l'utilisateur
float valTxtSaisi; // flottant de sortie
NumberFormat numberFormat = NumberFormat.getInstance(Locale.ENGLISH);
valTxtSaisi = numberFormat.parse(writtentext).floatValue();
J'ai un problème car si WrittenText = "12345678", ca fonctionne bien
si WrittenText = "123456789", je passe en écriture scientifique avec un arrondi 1.2345678E7
Quelqu'un a une idée pour toujours avoir le float dans une écriture non scientifique ?
theguitou
Messages postés75Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention14 janvier 200935 13 juil. 2007 à 11:58
Bonjour,
Que cherches tu à faire exactement ? Si tu cherches à transformer une chaine de caractères en floattant, tu n'as pas choisi la bonne solution. NumberFormat est fait pour faire l'inverse, transformer un "nombre" en String, selon les "règles" d'un pays.
Ce code devrait marcher :
String writtenText = "123,456";
writtenText.replace(",", "."); //On remplace les virgules par des points
float valTxtSaisi = 0.0;
try {
valTxtSaisi = Float.parseFloat(writtenText);
}
catch(Exception e) {
System.out.println("C'etait pas un float ...");
}