Salut,
C'est sûrement parce que sur ton système, le séparateur est une virugle (,) et pas un point (.)
Du coup ça plante quand il parse le string...
Tu peux utiliser une surcharge de ces méthodes pour spécifier quelle culture utiliser.
En effet, j'ai déjà eu le même genre de pb avec SQL Server.
Tout dépend si tu as tes chaines de caractère en dur ou si elle sont générées.
Dans le cas où elles sont générées, ça ne pose pas de pb, ça mettra un point en En et une virgule en Fr, par ex. Par contre, si tu joues avec les paramètres régionaux sur une même machine entre 2 exécutions, là ça se complique.
Dans le cas où tu mets les chaine en dur, utilise les fichiers de resources (que tu dois déjà utiliser pour traduire ton appli).
C'est un problème assez connu... le mieux je pense, c'est de setter dans ce cas une culture pour le programme, et pas prendre celle du système sur lequel s'exécute le programme (comportement par défaut).
Donc tu peux mettre ceci :
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("fr-CH");
(pour Français Suisse )
Effectivement en remplaçant le poin par une virgule ça résout le problème.
J'ai encore une dernière question, quelle culture utiliser pour avoir un cast tout le temps?
l'appli que je développe sera utilisé sur des PCs windows du monde entier.