84 votes

Conversion d'une chaîne en double en C#

J'ai une longue chaîne de caractères avec des valeurs de type double séparées par des # - value1#value2#value3# etc.

Je l'ai divisé en tables de cordes. Ensuite, je veux convertir chaque élément de ce tableau en type double et j'obtiens une erreur. Qu'est-ce qui ne va pas avec la conversion de type ici ?

string a = "52.8725945#18.69872650000002#50.9028073#14.971600200000012#51.260062#15.5859949000000662452.23862099999999#19.372202799999250800000045#51.7808372#19.474096499999973#";
string[] someArray = a.Split(new char[] { '#' });
for (int i = 0; i < someArray.Length; i++)
{
    Console.WriteLine(someArray[i]); // correct value
    Convert.ToDouble(someArray[i]); // error
}

0voto

Rob I Points 2750

Dans votre chaîne, je vois : 15.5859949000000662452.23862099999999 qui n'est pas un double (il a deux points décimaux). Peut-être s'agit-il simplement d'une erreur de saisie légitime ?

Vous pouvez également chercher à savoir si votre dernière String sera vide, et tenir compte de cette situation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X