Salut tout le monde,
J'ai un soucis avec la méthode Parse de la classe double.
Lorsque je fais :
une exeption "FormatException" est levée...Code:Double d = Double.Parse("1.0");
Quelqu'un aurait-il une explication?
Version imprimable
Salut tout le monde,
J'ai un soucis avec la méthode Parse de la classe double.
Lorsque je fais :
une exeption "FormatException" est levée...Code:Double d = Double.Parse("1.0");
Quelqu'un aurait-il une explication?
Au temps pour moi, j'ai trouvé la réponse à ma question.
Le format de la chaine de caractère dépend du CultureInfo. Le mien étant le français il faut que je passe des chaines du style "1,2"
Pour faire avec 1.2 il faudrait faire
(Ca en aidera peut-etre d'autre ^^)Code:Double d = Double.Parse("1.2",CultureInfo.GetCultureInfo("en-US").NumberFormat);
Oui.
Tu exécute le double.parse sur un système sur lequel le séparateur décimal n'est pas le point typo mais la virgule.
EDIT : trop tard ! Mais dans ta correction, le "NumberFormat" est inutile car un CultureInfo implémente de toute manière l'interface IFormatProvider.
Donc :
est suffisant.Code:Double d = Double.Parse("1.2",CultureInfo.GetCultureInfo("en-US"));