C# Wie Kann ein String in ein float umwandeln?
CS1503 C# Argument 1: cannot convert from 'string' to 'float'
Ich habe diesen error, wie kann ich ihn behben, ich benutze Visual Studio 2019
2 Antworten
Am Besten verwendest Du das hier:
string eineZahl = "1.235";
float number = 0;
if (!float.TryParse(eineZahl, out number)) {
// Behandle den Fall, dass es ein ungültiger Wert war
}
Float.Parse oder Convert.ToFloat werfen Exceptions, wenn es nicht geht. Da ist obiger Code defensiver, weil Du direkt davon ausgehen kannst, dass es auch mal nicht klappt - besonders, wenn die Zahl vom User eingegeben wird.
Beachte auch, dass die Konvertierung immer vom im System eingestellten Zahlenformat ausgeht (in Deutschland also vom "," als Dezimaltrenner). Wenn Du explizit ein bestimmtes Format möchtest (z.B. weil die Zahlen immer in US-Notation kommen), musst Du explizit die CultureInfo angeben.
Beispiel:
var usculture = new CultureInfo("en-US");
string eineZahl = "1.234";
float number = 0;
if (!float.TryParse(eineZahl, System.Globalization.NumberStyles.Number, usculture, out number)) { ... }
float f1 = float.Parse(<string>)
Ich habe davon nicht sonderbar viel Ahnung ich mach nochmal ne Neue Frage wait
Wenn ich das benutze kommt "CS1525 C# Invalid expression term 'string'"