arithmétique
-
2010年9月5日 18:31
bonjour,j'ai un problème c'est que j'arrive pas à calculer à partir de ce code:
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim a As Double = TextBox2.Text Dim b As Double = TextBox1.Text MsgBox(a - b) End Sub End Class
quand je fait le débogage
de 3.5-2.6
je reçoi le merssage suivant:
La conversion de la chaîne "2.6" en type 'double' n'est pas valide.
merci d'avance;.
すべての返信
-
2010年9月5日 20:20
Bonjour,
Si votre Windows est en français, le séparateur décimal est la virgule et non le point. Si vous souhaitez utiliser le point comme séparateur décimal, utilisez la méthode Convert.ToDouble avec la culture invariante.
Dim a As Double = Convert.ToDouble(TextBox2.Text, System.Globalization.CultureInfo.InvariantCulture) Dim b As Double = Convert.ToDouble(TextBox1.Text, System.Globalization.CultureInfo.InvariantCulture)
Cordialement
Gilles TOURREAU - MVP C# - MCTS ADO .NET 3.5 - MCPD Windows Developper 3.5 - Architecte .NET/Consultant/Formateur - http://gilles.tourreau.fr- 回答の候補に設定 Papy Normand 2010年9月7日 5:51
- 回答としてマーク Gilles TOURREAUMVP 2010年11月7日 10:31
-
2010年9月7日 6:16
Bonjour avicene,
Juste un petit ajout à l'excellent post de Gilles.
Pourriez-vous jeter un coup d'oeil à ce lien ?
http://msdn.microsoft.com/fr-fr/library/3s27fasw(v=VS.90).aspx
Je pense qu'il devrait vous expliquer pourquoi vous obtenez une erreur d'exécution. De plus, je ne fais plus de conversion directe d'un String en variable numérique, j'utilise toujours TryParse ( suivant un vieux conseil de Gilles datant de plusieurs années ) qui permet d'utiliser la valeur de retour qui vaut true si la conversion s'est bien passée ou false si , par exemple , le format est invalide. Cela évite de déclencher une exception et d'avoir un plantage de l'application ( ce qui est particulièrement mal vu par un utilisateur lambda ). C'est un simple conseil provenant d'une personne particulièrement sensible à ce genre de détail ( en temps qu'utilisateur et concepteur de programmes ). Avec un bon traitement des exceptions et l'utilisation de méthodes telles que TryParse, on s'évite des problèmes et on fait des programmes solides. Ne vous vexez pas , il suffit d'aller sur les forums VC#,VB français ou américains pour se rendre compte que ce genre de problèmes apparait au moins 2 fois par mois, c'est peut-être aussi dû au fait que dans les livres ou les cours , bien souvent les auteurs oublient de parler de ce genre de méthodes par manque de temps ou de place.
Bonne journée
Mark Post as helpful if it provides any help.Otherwise,leave it as it is.- 回答としてマーク Gilles TOURREAUMVP 2010年11月7日 10:31

