Benutzer mit den meisten Antworten
Aus NumericUpDown wert ausrechnen und anzeigen

Frage
-
Hallo,
ich wollte mal fragen ob jemand weiß wie man folgendes macht:
NumericUpDown1: Wert 3500 : NumericUpDown2: 1750
Dann soll im 3. (NumericUpDown oder Label) der Wert angezeigt werden der raus kommt. 3500:1750= 2 -> 2 sollte dann in NumericUpDown oder Label angezeigt werden..
Wenn es geht auch mit 2,00 also mit Kommarstellen..Der Wert sollte nach der Eingabe sofort angezeigt werden..
Antworten
-
Hallo,
Holgers oben geposteter Code führt eine Division der Werte aus 2 NumericUpDown's durch. Das Ergebnis wandelt er in einen String um und weiß ihn dem Control showResultlabel51 zu. Das ist vielleicht ein Label oder eine TextBox.Um das Ergebnis in einem NumericUpDown auszugeben, musst du die Value-Eigenschaft von diesem zuweisen:
this.numericUpDown3.Value= result;//Result wird wie oben zu sehen ist berechnet.
Wobei der Cast in ein Double nicht immer von Nutzen ist. Die Value-Eigenschaft ist vom Typ decimal, der eine deutlich höhere Genauigkeit aufweiß als double. Da Ein- und Ausgabe von NumericUpDown's gesteuert werden, würde ich den cast weg lassen:decimal result = this.numericUpDown1.Value / this.numericUpDown2.Value; numericUpDown3.Value = result; // Man könnte sich das zuweisen von result auch sparen und einen Einzeiler daraus formen.
Vielleicht hilft dir die Erklärung ;)
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort vorgeschlagen Tom Lambert (Koopakiller)Moderator Freitag, 6. Dezember 2013 14:43
- Als Antwort markiert Ciprian Bogdan Donnerstag, 12. Dezember 2013 14:18
Alle Antworten
-
Hallo,
wo genau liegt hier dein Problem?Vielleicht hilft die folgendes:
... double result =(double) this.numericUpDown1.Value / (double) this.numericUpDown2.Value; this.showResultLabel.Text = result.ToString(); ...
Wenn du noch spezifischere Fragen hast, helfe ich dir gerne... :)
Viele Grüße Holger M. Rößler
- Bearbeitet Holger M. Rößler Freitag, 6. Dezember 2013 12:13
- Als Antwort vorgeschlagen Tom Lambert (Koopakiller)Moderator Freitag, 6. Dezember 2013 14:42
- Als Antwort markiert Haha90 Freitag, 6. Dezember 2013 14:45
- Tag als Antwort aufgehoben Haha90 Freitag, 6. Dezember 2013 14:45
-
Fehler 1 'WindowsFormsApplication5.Form1' enthält keine Definition für 'showResultlabel51', und es konnte keine Erweiterungsmethode 'showResultlabel51' gefunden werden, die ein erstes Argument vom Typ 'WindowsFormsApplication5.Form1' akzeptiert (Fehlt eine Using-Direktive oder ein Assemblyverweis?).
Das ist die Fehlermeldung...
-
Hallo,
Holgers oben geposteter Code führt eine Division der Werte aus 2 NumericUpDown's durch. Das Ergebnis wandelt er in einen String um und weiß ihn dem Control showResultlabel51 zu. Das ist vielleicht ein Label oder eine TextBox.Um das Ergebnis in einem NumericUpDown auszugeben, musst du die Value-Eigenschaft von diesem zuweisen:
this.numericUpDown3.Value= result;//Result wird wie oben zu sehen ist berechnet.
Wobei der Cast in ein Double nicht immer von Nutzen ist. Die Value-Eigenschaft ist vom Typ decimal, der eine deutlich höhere Genauigkeit aufweiß als double. Da Ein- und Ausgabe von NumericUpDown's gesteuert werden, würde ich den cast weg lassen:decimal result = this.numericUpDown1.Value / this.numericUpDown2.Value; numericUpDown3.Value = result; // Man könnte sich das zuweisen von result auch sparen und einen Einzeiler daraus formen.
Vielleicht hilft dir die Erklärung ;)
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort vorgeschlagen Tom Lambert (Koopakiller)Moderator Freitag, 6. Dezember 2013 14:43
- Als Antwort markiert Ciprian Bogdan Donnerstag, 12. Dezember 2013 14:18
-
Okey, jetzt habe ich es herrausgefunden..
Weiß jemand von Ihnen wie man diesen Code:
if (NumericUpDown.Value == 0)
{
byte[] Bytes = new byte[] { 0x00 };
PS3.SetMemory(0x01c1947c, Bytes);
}
else
{
byte[] Bytes = BitConverter.GetBytes(Convert.ToInt32(NumericUpDown.Value.ToString()));
PS3.SetMemory(0x01c1947c, Bytes);zu INT konvertiert ?
-
Das kommt etwas darauf an, was genau du wie konvertieren willst. Ein Int (Int32) besteht aus 4 Bytes. Allerdings hast du hier die ganze Zeit das Decimal zur verfügung. Das lässt sich einfach casten:
int myInt = (int)numericUpDown.Value;
Das ist 1. viel effektiver als über einen String zu gehen und 1. kürzer.
PS: Neue Fragen bitte in einen neuen Thread. Wenn diese Frage beantwortet ist, markiere bitte die hilfreichsten Antworten als Antwort. Danke.
Siehe auch: Goldrichtig: Wie stelle ich eine Frage?PPS: Über den Codeeinfügen-Button (
) kannst du Code als Codeblock darstellen. Dieser bekommt dann im Forum auch einen Syntaxhighlight. Das ist, besonders bei großen Codes, angenehmer zu lesen/zu verstehen.
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.
- Bearbeitet Tom Lambert (Koopakiller)Moderator Freitag, 6. Dezember 2013 14:44 PPS