Wie konvertieren von string zu int?
Wie konvertieren von string zu int?Ich weiß konvertieren.ToInt32 verwendet wird.Aber es scheitern.Fehler input-string ist nicht im richtigen format.
String s1 = "12.00"
- 12.00 ist nicht eine ganze Zahl, deren dezimal-format!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fehler ist, weil die Zeichenfolge ist
"12.00"
zuerst konvertieren von string zu double als in int
oder
WENN Sie wollen einfach nur integer-Teil des es als
Überprüfen Sie auch bereits beantwortete threads SO : C# Konvertiert String Decimal Int
Ich Liebe die Annahme, dass das Dezimaltrennzeichen ist immer ein Punkt (
.
). Sollten Sie besser dieInvariantCulture
, die enthält eine NumberFormat, dass ausdrücklich festgelegt, den Punkt als dezimal-Trennzeichen:Klären: die halbe Welt nutzt den Punkt, die andere Hälfte ein Komma. Wenn ich diese ausführe, die auf einem PC mit einem niederländischen Kultur und nicht geben Sie ein CultureInfo, nimmt es den Standard-system (Komma) und zurück
1200
ignoriert den Punkt.Während es nicht direkt auf dein problem, es ist etwas, das kann nicht genug betont werden.
"12.00" ist eine Dezimalzahl, nicht eine ganze Zahl ist. Ganzzahlen haben keine Nachkommastellen. Verwenden
Konvertieren.ToDouble
oder ähnliches zu bekommen, eine floating-point-Zahl, oder abschneiden der Nachkommastellen der Zeichenfolge (die.
und was folgt) vor dem Aufruf vonConvert.ToInt32
.Den string "12.00" ist ein double/decimal-Wert. Einsatz Verdoppeln.Parse() oder Double.TryParse() oder Convert.ToDouble().