La chaîne d'entrée n'était pas dans un format correct # 2
double temp;
temp = (double)Convert.ToDouble("1234.5678");
Hey les Gars et les Dames, je ne peux pas pour la vie de me comprendre pourquoi la ligne ci-dessus ne fonctionne pas. La ligne ci-dessus me donne une erreur d'exécution qui en dit;
Une exception non gérée du type
Système.FormatException s'est produite dans
mscorlib.dllInformations supplémentaires: chaîne d'Entrée
n'était pas dans un format correct.
source d'informationauteur Keith Loughnane
Vous devez vous connecter pour publier un commentaire.
Autant que je sache, le
Convert
méthodes utiliser les paramètres régionaux en cours pour faire de telles conversions. Dans ce cas, je suppose que vos paramètres régionaux en cours pourrait s'attendre à une virgule comme séparateur décimal. Essayez de régler les paramètres régionaux de votre demande ou à la conversion de certains de langue et de pays où les points sont utilisés (par exemple fr_fr). La méthode doit fournir un second paramètre optionnel pour fournir un IFormatProvider comme une solution alternative.Pour convertit une chaîne en double sans exception:
le rendre insensible culture par l'offre d'une deuxième valeur de paramètre CultureInfo.InvariantCulturepar exemple:
première solution (comme indiqué dans d'autres posts):
deuxième solution - faire par défaut thread actuel:
troisième solution - faire défaut à bloc de code:
Vous pouvez être en quelque sorte à l'aide d'un locales européennes. Dans certains pays, l' . et , en nombre est inversée.
Salut comme Mario dit que vous devez l'analyser en prenant en compte les paramètres régionaux.
Ce qui concerne.
Vérifier vos paramètres régionaux. Votre symbole décimal doit être ".".
Je vous recommande d'utiliser
TryParse
au lieu de cela, vous n'avez pas besoin de gérer les exceptions de parsage.Je ne vois pas de problème avec le code ci-dessus.il fonctionne très bien et imprime la valeur
1234.5678
. Je l'ai essayé dans VS2008. Probablement, quelque chose à faire avec les paramètres régionaux sur votre machine.