Je dois dans le cadre d’un projet java, mettre un String dans une variable déclarée precedemment en float. A la compile, en utilisant la méthode Float.parseFloat() je n’ai aucun problème et à l’éxécution j’obtiens le message suivant :
java.lang.NumberFormatException: For input string: “*”
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1207)
at java.lang.Float.parseFloat(Float.java:222)
at EditionFacturesEmportees.art_trouver(EditionFacturesEmportees.java:110)
at EditionFacturesEmportees.creationFactureEmportees(EditionFacturesEmportees.java:
at TestFacture.main(TestFacture.java:12)
Si quelqu’un est en mesure de m’indiquer ne serait ce que la méthode à utiliser …
Returns a new float initialized to the value represented by the specified String, as performed by the valueOf method of class Float.
Parameters:
s - the string to be parsed. Returns:
the float value represented by the string argument. Throws: NumberFormatException- if the string does not contain a parsable float.[/quote]L’erreur vient simplement du fait que tu essai de convertir en float des caractères qui ne peuvent pas l’être !!! ( “12,234” est une chaîne valide, mais “34%” ne l’est pas par exemple )
Plusieurs solutions s’offrent a toi pour remédier a ce problème :
relever l’exception et demander a l’utilisateur de saisir après-coup une chaine correcte
vérifier avant d’appeller ta méthode que la chaine est correcte
il existe peu-etre une super-solution-de-la-mort, mais demande a un guru Java de te la donner, moi je la connais pas !
J’ai déjà testé ces methodes et malheureusement à l’ execution j’ai toujours un “java.lang.NumberFormatException” !!
Je ne vois toujours pas comment mettre des étoiles dans des variables déclarées de type float !!
j’ai aussi essayé de prendre mon problème à l’envers, déclarer mes variables en String etutiliser les méthodes parse et valueOf sur les variables calculables. UN ECHEC !!!
Merci pour vos réponses.
Ce message a été édité par MaudiTe le 07/12/2003 Ce message a été édité par MaudiTe le 07/12/2003
[quote]Je dois dans le cadre d’un projet java, mettre un String[/quote]Sympas, les projets ou il faut mettre eds String avant de faire la Java… C’est ou, qu’on s’inscrit ?
Hein ? Bon, ok, j’arrête les blagues à deux balles
Sinon, plus sérieux :
[quote]java.lang.NumberFormatException: For input string: “*”[/quote]La réponse est dans la question : la chaine que tu essayes de transformer en flottant, c’est un Astérix (pas la peine de faire un message sur l’orthographe, c’est fait pour ).
Ah tiens, je viens juste de voir cette phrase là (désolé, c’est mon habitude : répondre, pis après seulement lire…)
[quote]Je ne vois toujours pas comment mettre des étoiles dans des variables déclarées de type float !![/quote]Si tu veux vraiment mettre une étoile (*) dans une variable Float, pas la peine de continuer à chercher, t’es mal parti, y aura jamais moyen… Ce message a été édité par zeKam le 08/12/2003
[quote]Ah tiens, je viens juste de voir cette phrase là (désolé, c’est mon habitude : répondre, pis après seulement lire…)
[quote]Je ne vois toujours pas comment mettre des étoiles dans des variables déclarées de type float !![/quote]Si tu veux vraiment mettre une étoile (*) dans une variable Float, pas la peine de continuer à chercher, t’es mal parti, y aura jamais moyen… Ce message a été édité par zeKam le 08/12/2003[/quote]ah oui, évidemment, vu comme ça…