conversion string-->double

conversion string-->double - C#/.NET managed - Programmation

Marsh Posté le 22-04-2009 à 17:56:08    

j'ai un petit morceau de code tout bête pour convertir mon string en double :
 

Code :
  1. double.TryParse("2.81329345703125", out test);


 
mais le petit cochon me retourne 0 dans test.  
un double va bien de ±5.0 × 10^−324 à ±1.7 × 10^308 ?  
 
pourquoi il n'arrive pas à me le convertir ?
merci d'avance pour l'aide.
Sylvain.

Reply

Marsh Posté le 22-04-2009 à 17:56:08   

Reply

Marsh Posté le 22-04-2009 à 20:43:47    

Premiere chose, tryparse ne lève pas d'erreur s'il ne parvient pas à faire la conversion. D'une part il te le spécifie en te retournant false, d'autre part la variable passée en "out" est effectivement assignée à 0 (ou laissée à sa valeur initiale ? A vérifier). En l'occurrence tu commets l'erreur de ne pas regarder la valeur retournée par tryparse, donc tu ne sais pas si l'opération a réussi.
Si tu veux une fonction qui lève une erreur, tu peux utiliser Convert.ToDouble, ou double.Parse.
Ton problème tient peut être au format du séparateur décimal incompatible avec la culture locale.

 

Toutes les fonctions citées sont paramétrables pour leur imposer la culture.
D'autre part, tu peux substituer à la mano (mastring.Replace(,)) les . par des , si c'est bien ce qu'attend double.tryparse et si ça te parait plus simple.


Message édité par TotalRecall le 22-04-2009 à 20:44:44

---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed