Extraction nombre d'un String

maxinfos Messages postés 33 Date d'inscription mercredi 6 novembre 2002 Statut Membre Dernière intervention 16 juin 2008 - 22 juin 2004 à 15:34
maxinfos Messages postés 33 Date d'inscription mercredi 6 novembre 2002 Statut Membre Dernière intervention 16 juin 2008 - 23 juin 2004 à 11:27
Bonjour,

voilà, j'ai un String contenant une chaine de caractère du style : "123.0 145.1 120.4 18 " etc ...

j'aimerais placer ces nombres dans un tableau pour les ranger ainsi :

123.0
145.1
120.4
18

Comment puis-je fais pour extraire 1 à 1 les nombres ?
J'ai pas trouvé comment récupérer caractère par caractère dans une chaine string ...

Merci
@+

Maxinfos 8-)

4 réponses

wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
22 juin 2004 à 16:24
String s=...;
String[] sortie=s.split(' ');
3
maxinfos Messages postés 33 Date d'inscription mercredi 6 novembre 2002 Statut Membre Dernière intervention 16 juin 2008
23 juin 2004 à 07:59
J'ai essayé la solution, mais j'ai une erreur de code ...

Serait-il possible de détailler la solution ...

Merci
@+
Maxinfos 8-)
0
wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
23 juin 2004 à 09:17
String entree="23.0 145.1 120.4 18";
String[] toutStr=s.split(" ");
Double[] sortie=new Double[toutStr.length];
for (int i=0;i<toutStr.length;i++){
sortie[i]=Double.parseDouble(toutStr[i]);
}

NB split seulement presentent pour les JDK 1.4+
0
maxinfos Messages postés 33 Date d'inscription mercredi 6 novembre 2002 Statut Membre Dernière intervention 16 juin 2008
23 juin 2004 à 11:27
Voilà ce que j'ai finalement fait :

////////////////////////////////////////////////////////////////
double[] CHIFF=new double [10];
int valencours=0;

StringTokenizer st = new StringTokenizer("5.0 10.5 15 20 25 30 35.6 40 45 50");

while (st.hasMoreTokens())
{
//convertion de String vers double
String montexte = new String(st.nextToken());
double x= Double.parseDouble(montexte);

CHIFF[valencours]=x;//on rempli le tableau

valencours++;
}
/////////////////////////////////////////////////////////////

Cette méthode m'est plus utile, car il se peut que j'ai plusieurs espaces ou même des tabulations entre les nombres ...
Voilà

Merci beaucoup, surtout pour la convertion de String en double, car j'avais fait en float, mais il n'aime pas les "xx.x" bizarre quand même, mais bon ...

@+
Maxinfos 8-)
0