Atari45 Posté(e) 29 juillet 2013 Share Posté(e) 29 juillet 2013 Bonjour, Je développe un application Android et je rencontre quelques soucis.. Je cherche à mettre en place des calculs avec des variables editText float hte = Float.parseFloat(ht.getText().toString()); float nbObjDiste = Float.parseFloat(nbObjDist.getText().toString()); float nbFocalLene = Float.parseFloat(nbFocalLen.getText().toString()); nbObjSize2.setText(String.valueOf(hte * (nbObjDiste / nbFocalLene - 1))); Le problème c'est des que je lance l’émulateur, l'application se coupe et ne fonctionne pas.. Les LogCat me dise un problème a la première ligne que je viens de vous fournir. ht, nbObjDist et nbFocalLen sont 3 variables EditText déclaré comme ceci : ht = (EditText) findViewById(R.id.nb2); Voila j’espère avoir été clair et espère un peu d'aide ;) Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 29 juillet 2013 Share Posté(e) 29 juillet 2013 Et que dit précisément le LogCat ? quelle est l'exception qui se produit ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Atari45 Posté(e) 29 juillet 2013 Auteur Share Posté(e) 29 juillet 2013 Les LogCat : - FATAL EXCEPTION : main - at com.example.lenssensor.MainActivity$2.onClick(MainActivity.java:84 => correspond à la première ligne du post du dessus. Et quand je lance l'appli, la premiere Activity se lance. Et des que j'appuie sur un bouton radio, "Unfortunately, lesSensor has stopped" Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 29 juillet 2013 Share Posté(e) 29 juillet 2013 Il manque l'information principale : quelle est l'exception qui s'est produite ? Tu peux mettre un extrait plus important du log ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Atari45 Posté(e) 29 juillet 2013 Auteur Share Posté(e) 29 juillet 2013 FATAL EXCEPTION : main java.lang.NumberFormatException : Invalid float: "" at java.lang.StringToReal.invalid(StringToReal.java:63) at java.lang.StringToReal.parseFloat(StringToReal.java:289) at java.lang.Float.parseFloat(Float.java:300) at java.lang.Float.valueOf(Float.java:337) at com.example.lenssensor.MainActivity$2.onClick(MainActivity.java:84 at android.view.View.performClick(View.java:4204) ... Et encore quelques erreurs at android J'ai fais un imprim ecran mais je sais pas comment le mettre dans la réponse alors j'ai copier les premières lignes du LogCat Lien vers le commentaire Partager sur d’autres sites More sharing options...
Femto Posté(e) 29 juillet 2013 Share Posté(e) 29 juillet 2013 java.lang.NumberFormatException : Invalid float: "" Ta conversion en float n'est pas possible si le editText est vide. edit : Petite astuce au passage, si tu veut que la valeur vide soit 0, utilise un try catch Lien vers le commentaire Partager sur d’autres sites More sharing options...
Atari45 Posté(e) 29 juillet 2013 Auteur Share Posté(e) 29 juillet 2013 Ok cela veut dire que : float hte = Float.parseFloat(ht.getText().toString()); est vide... Pourtant la variable ht comporte quelque chose... Hmm bizarre ça ! edit : J'ai comme logcat apres un autre essai : java.lang.NumberFormatException: Invalid float "3,600" Lien vers le commentaire Partager sur d’autres sites More sharing options...
Femto Posté(e) 29 juillet 2013 Share Posté(e) 29 juillet 2013 Ta valeur doit être formatée de cette manière 3.600. Pense à mettre l'inputType de ton editText en numeric, l'utilisateur ne pourra rentrer que des valeurs numériques valables de cette manière. Y'a plusieurs manières de le faire je te laisse chercher sur google ;-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Atari45 Posté(e) 29 juillet 2013 Auteur Share Posté(e) 29 juillet 2013 Mon inputType est : android:inputType="numberDecimal" donc deja en type numeric edit : j'ai changé mes valeurs en mettant des point au lieu des virgules, j'effectue un Toast de "ht" et j'obtiens 3.000 Ensuite, j'aimerais faire un calcul avec 3 variables que l'utilisateur rentre. Ces 3 valeurs sont des EditText et j'aimerais qu'un calcul se fasse et mette la valeur obtenue dans un EditText... Quel sont vos propositions ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Atari45 Posté(e) 29 juillet 2013 Auteur Share Posté(e) 29 juillet 2013 Bon fini de reflechir.. Sujet résolu. Il suffisai de mettre des points à la place des virgules comme le disai FEMTO et merci également à CHPIL d'avoir commencé à m'aider. Bonne soirée a tous et vive Android ;) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.