2013-02-20 3 views
0
 private void buttonConvert_Click(object sender, EventArgs e) 
    { 
     //Convert number from C to F 
     double convertDecimal; 
     convertDecimal = 1.8; 
     textBoxF = double.Parse(textBoxC.Text) * double(convertDecimal) + 32; 
                 ^here is where I get the error 

Erreur 1 terme d'expression non valide « double »Erreur 1 terme d'expression non valide « double »

Je suis assez nouveau à la programmation et, mais je ne peux pas envelopper mon esprit autour d'essayer d'ajouter, soustraire, diviser ou en multipliant les nombres. J'essaie de faire une simple conversion simple. Prenez le nombre de la zone de texte Celsius et convertissez-le en Fahrenheit. Je ne comprends tout simplement pas la partie numéro ???

Merci pour votre aide!

Répondre

2

double (convertDecimal) devrait être (double) convertDecimal

1

qui ressemble à une expression de type coulée C++, ce qui ne fonctionne pas en C#. Et comme convertDecimal est déjà de type double, il n'est pas nécessaire de le lancer. Il suffit d'utiliser directement:

textBoxF = double.Parse(textBoxC.Text) * convertDecimal + 32; 

Il vous suffit de changer le type d'une variable (à savoir le type-cast) lorsque la variable est d'un type non prévu. L'ajout de deux valeurs double est correct. Même en ajoutant un double et un int est correct parce que l'entier est implicitly converted à double.


Edit: Vous essayez d'affecter le résultat de l'expression à un contrôle, qui ne fonctionnera pas. Vous devez convertir le résultat d'une chaîne (par exemple avec double.ToString), puis attribuez-lui au champ de texte contrôle:

double farenheit = double.Parse(textBoxC.Text) * convertDecimal + 32; 
textBoxF.Text = farenheit.ToString(); 
+0

Joachim, je le fais alors obtenir cette erreur « Impossible de convertir implicitement le type « double » à « Système. Windows.Forms.TextBox '\t " – user2089370

+0

@ user2089370 Cela parce que vous essayez d'affecter la valeur résultante (un' double') à un contrôle Windows. Vous devez convertir le résultat de l'expression en une chaîne et définir le champ de texte du contrôle (c'est-à-dire 'textBoxF.Text'). –

+0

@ user2089370 Veuillez voir ma réponse modifiée. –

Questions connexes