Bonjour,
J'ai un petit problème de conversion de string !
Je voudrais savoir pourquoi le code ci-dessous me retourne 3.0 ?
Merci de votre réponse
Code : Sélectionner tout - Visualiser dans une fenêtre à part Double.parseDouble("3d")
Java 1.6
Bonjour,
J'ai un petit problème de conversion de string !
Je voudrais savoir pourquoi le code ci-dessous me retourne 3.0 ?
Merci de votre réponse
Code : Sélectionner tout - Visualiser dans une fenêtre à part Double.parseDouble("3d")
Java 1.6
Tu t'attendais a ce qu'il te retourne quoi en faite???
Je m'attendais qu'il me retourne une erreur.
J'ai fais un test pour savoir si un nombre est un double.
Cependant en essayant mon test je me suis aperçu que "3d" passe au travers .
Parce que un chiffre suivi d'un 'd' décrit un double.
Tu peux très bien initialiser un double ainsi:
Au même titre , le 'l' va décrire un long
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 double monDouble = 8d;
etc...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 long monLong = 8l;
D'accord c'est bien bête pour mon test.
Je m'y prendrais autrement.
merci pour ta réponse.
Bonne journée++
Tu devrais t'en sortir avec une petite expression régulière à mon avis.
bonjour,
Moi j'ajouterais int integ = Integer.parseInt(monString);
String info = ""; String monString = "3d";
try
{
int integ = Integer.parseInt(monString);
double mondouble = Double.parseDouble(monString);
}
catch (NumberFormatException f) {
javax.swing.JOptionPane.showMessageDialog(null,"Non numérique : " + monString);
return; // ou autre chose
}
Merci de vos réponse!
Pour économiser quelques lignes j'ai ajouter un "0" au String pour le test :
Merci bonne journée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 String monString = "3d"; try { double mondouble = Double.parseDouble(monString+"0"); } catch (NumberFormatException f) { javax.swing.JOptionPane.showMessageDialog(null,"Non numérique : " + monString); return; // ou autre chose }
Partager