Autor Beitrag
Ruffymon
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 02.03.11 23:11 
Ich wollte ein Programm machen, in dem Mathemathische formeln ausgerechnet werden. Hier ist der Code:

ausblenden C#-Quelltext
1:
2:
3:
            int r = Convert.ToInt32(this.numericUpDown1.Value);
            int l = r * r * 3.14159265
            MessageBox.Show("Die Lösung ist "+ l  ,"Lösung", MessageBoxButtons.OK);


wo ist der Fehler?

Moderiert von user profile iconChristian S.: C#-Tags hinzugefügt
Mitmischer 1703
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 754
Erhaltene Danke: 19

Win 7, Debian
Delphi Prism, Delphi 7, RAD Studio 2009 Academic, C#, C++, Java, HTML, PHP
BeitragVerfasst: Mi 02.03.11 23:19 
Ich fische einfach mal im Trüben: du multiplizierst mit einer Kommazahl, dein Ergebnis ist aber int... Du musst da einen Single oder Double nehmen. Sag uns bitte nächstes Mal, was genau nicht funktioniert!

_________________
Die Lösung ist nicht siebzehn.
Ruffymon Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Mi 02.03.11 23:23 
user profile iconMitmischer 1703 hat folgendes geschrieben Zum zitierten Posting springen:
Du musst da einen Single oder Double nehmen. Sag uns bitte nächstes Mal, was genau nicht funktioniert!

In den Fehlern steht:

Der Typ "double" kann nicht implizit in "int" konvertiert werden. Es ist bereits eine explizite Konvertierung vorhanden. (Möglicherweise fehlt eine Umwandlung.)
Was muss ich machen?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 02.03.11 23:56 
Entweder du konvertierst in einen Int-Wert oder du deklarierst l als Fließkommazahl, also z.B. double.