yabiyou
Messages postés43Date d'inscriptionjeudi 19 juillet 2007StatutMembreDernière intervention 6 septembre 2007
-
24 août 2007 à 14:42
t_barbillon
Messages postés341Date d'inscriptionmercredi 8 juin 2005StatutMembreDernière intervention10 février 2009
-
24 août 2007 à 19:00
Bonjour,
J'ai un fcihier texte avec des lignes de la forme (à partir d'un certain indice qui est 75):
B=-1.800030000e+002 A=-8.412215457e+001 P=-5.257466079e+001
B=-1.795860000e+002 A=-8.367020313e+001 P=-5.512277582e+001
B=-1.790640000e+002 A=-8.323629079e+001 P=-6.050660822e+001
etc
etc
Je veux récupérer les valeurs en doucle de A et P
Quand je fais pour A par exemple (val est un tableau de string contenant mes lignes):
double
[] A;A =
new
double[maListe.Count-2];
A[i] =
Convert.ToDouble(val[75].Split(
'=')[2].Split(
'P')[0].Replace(
'.',
','));
j'obtiens bien la valeur voulue: -84,412215457
Mais dès que j'essaie de fare une boucle pour récupérer tout les A ça ne marche pas, il me dit qu'il faut "utiliser new pour créer une nouvelle instance objet":
yabiyou
Messages postés43Date d'inscriptionjeudi 19 juillet 2007StatutMembreDernière intervention 6 septembre 2007 24 août 2007 à 15:54
Ok ça marche plutot bien mais la variable P n'a pas tout le temps 17 éléments, elle a parfois 16 éléments (en fait elle est soit négative 17elts soit positive 16 éléments) et on ne peut pas prévoir à l'avance si c'est 16 ou 17...
Vous n’avez pas trouvé la réponse que vous recherchez ?
t_barbillon
Messages postés341Date d'inscriptionmercredi 8 juin 2005StatutMembreDernière intervention10 février 20092 24 août 2007 à 19:00
Salut, au pire si tu peux garder le Split évite de le faire dans la boucle for. Sinon, fais aussi attention à la langue quand tu utilise Replace de '.' par ',' notamment si ton programme est exécuté sur une machine anglaise.
Si ton formattage de change pas ie "A=<valeurA> B=<valeurB> P=<valeurP>", tu peux aussi utiliser une expression régulière, pour obtenir les trois champs valeurs avec un patron ressemblant à "A=(?<valeurA>-?\d*) B=(?<valeurB>-?\d*) P=(?<valeurP>-?\d*)" ; tu récupères ensuites les trois valeurs sous forme de string, que tu n'as plus qu'à convertir