Also laut der Entwicklungsumgebung sind im Quelltext keine Fehler enthalten. Das kann leider nicht stimmen, denn statt die Umrechnung auszuführen gibt er mir im Ergebnisfeld exakt die gleiche Zahl an wie im Eingabefeld für den User.
Entweder ist die Rechnung in der Funktion falsch oder der Wert wird nicht zurückgeliefert würde ich jetzt denken, leider habe ich dafür keine Lösung gefunden.
private void button7_Click(object sender, EventArgs e)
{
Int32 num1;
int.TryParse(textBox1.Text, out num1);
if (int.TryParse(textBox1.Text, out num1))
{
num1 = Int32.Parse(textBox1.Text);
binary(num1);
textBox3.Text = num1.ToString();
}
}
public static string binary(Int32 num1)
{
return Convert.ToString(num1,2);
}
}
}
Also laut der Entwicklungsumgebung sind im Quelltext keine Fehler enthalten
Die findet nur Syntaxfehler. Wenn du logische Fehler machst, d.h. das Programm macht zwar das was du ihm sagst aber du hast ihm was falsches gesagt, sowas findet die Entwicklungsumgebung natürlich nicht.
Deine Funktion gibt etwas zurück, aber du wertest das nicht aus. Die Zahl die du da ausgibst ist nach wie vor die selbe wie vorher.
Hallo Zajaer
1.
int.TryParse(textBox1.Text, out num1);
if (int.TryParse(textBox1.Text, out num1))
{ ... }
Hier rufst du die Methode zweimal auf, einmal innerhalb der If-Bedingung reicht aus.
binary(num1);
Wie du schon richtig gemacht hast gibst du in deiner Methode den veränderten String zurück. Allerdings machst du nichts mit dem Rückgabe Wert.
Also z.B.
string s = binary(num1);
Zahlen haben keine dezimale, hexadezimale, binäre Darstellung. Im physikalischen Speicher sind am Ende alles "nullen und einsen". Deswegen kannst du aus einem int auch keinen "binär int" machen. Nur Anzeigen kannst du diese Zahlen in verschiedenen Formaten(binär, dezimal, ...).
Warum man Strings nicht direkt ändern kann: [FAQ] Besonderheiten der String-Klasse (immutabler Referenztyp mit Wertsemantik)
Es funktioniert.
Ich danke euch beiden für die schnelle Hilfe 😃
mit freundlichen Grüßen,
Zajaer
Hallo Zajaer,
dein Code lässt sich leicht zu
private void button7_Click(object sender, EventArgs e)
{
Int32 num1;
if (int.TryParse(textBox1.Text, out num1))
{
textBox3.Text = Convert.ToString(num1,2);
}
}
zusammenschnurren.
Davon unabhängig beachte bitte [Hinweis] Wie poste ich richtig? Punkt 1.1.1.
herbivore