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
---------------
Topic .Net - C# @ Prog