Verschiedene Möglichkeiten zum Konvertieren von String in Int in Kotlin
-
Konvertieren Sie Kotlin
String
inInt
mit der MethodetoInt()
-
Konvertieren Sie Kotlin
String
inInt
mit der MethodetoIntOrNull()
-
Konvertieren Sie Kotlin
String
inInt
mit der MethodeparseInt()
Angenommen, Sie erstellen eine Anwendung oder ein einfaches Programm. Wenn eine Funktion in Ihrem Programm nur ganzzahlige Werte akzeptiert, müssen Sie String
in Int
umwandeln, um die NumberFormatException
oder andere solche Ausnahmen zu verhindern.
Aber wie wandelt man Kotlin String
in Int
um? Dazu gibt es mehrere Möglichkeiten. Dieser Artikel lehrt ein paar Wege, um in Kotlin String
in Int
umzuwandeln.
Konvertieren Sie Kotlin String
in Int
mit der Methode toInt()
Wir können die Funktion toInt()
verwenden, um einen String
in einen Int
umzuwandeln. Hier ist die Standard-Syntax dafür.
String.toInt()
Das bedeutet, dass wir für die Konvertierung die Methode toInt()
auf unseren String
-Instanzen aufrufen werden. Im folgenden Beispiel verwenden wir diese Syntax, um einen String
"246"
in einen Int
246
umzuwandeln.
fun main() {
val strVal = "246"
val intVal = strVal.toInt()
println(intVal)
}
Wie Sie sehen können, konvertiert das obige Programm den String
erfolgreich in Int
. Aber wenn es einen nicht konvertierbaren String
gibt, wirft die toInt()
-Funktion eine InvalidFormatException
-Ausnahme.
Zu Demonstrationszwecken ändern wir den String
"246"
im obigen Code in String
"246b"
und versuchen, ihn zu konvertieren.
fun main() {
val strVal = "246b"
val intVal = strVal.toInt()
println(intVal)
}
Dieses Programm löst java.lang.NumberFormatException
aus, da es den Buchstaben "b"
nicht in eine ganze Zahl umwandeln kann.
Daher müssen wir die Funktion toInt()
innerhalb eines try-catch
-Blocks verwenden, um die Ausnahme zu behandeln. Mit dem try-catch
-Block können wir einen Standarddruckwert zuweisen, wenn die Ausnahme auftritt.
So integrieren Sie die Funktion toInt()
in den Block try-catch
.
fun main(){
try {
val strVal = "246"
val intVal = strVal.toInt()
println(intVal)
} catch (e: NumberFormatException) {
println("This format is not convertible.")
}
try {
val strVal1 = "246b"
val intVal1 = strVal1.toInt()
println(intVal1)
} catch (e: NumberFormatException) {
println("This format is not convertible.")
}
}
Die erste toInt()
-Methode wandelt im obigen Programm den String
"246"
in einen Int
um. Aber wenn die zweite toInt()
-Funktion ausgeführt wird, wirft sie die NumberFormatException
, die vom try-catch
-Block behandelt wird.
Konvertieren Sie Kotlin String
in Int
mit der Methode toIntOrNull()
Wenn wir den Block try-catch
nicht hinzufügen möchten, können wir stattdessen die Funktion toIntOrNull()
verwenden. Wie der Name schon sagt, gibt diese Methode einen null
-Wert zurück, wenn die Konvertierung nicht erfolgreich ist.
Wenn Sie also nur ganzzahlige Werte wünschen und sich nicht um die nicht konvertierbaren Werte kümmern möchten, können Sie die Funktion toIntOrNull
verwenden.
fun main(){
val strVal = "246"
val intVal = strVal.toIntOrNull()
println (intVal)
}
Bei erfolgreicher Konvertierung wird der Wert Int
angezeigt. Wenn die Konvertierung jedoch nicht erfolgreich ist, wird der String
in null
konvertiert.
fun main(){
val strVal = "246b"
val intVal = strVal.toIntOrNull()
println (intVal)
}
Konvertieren Sie Kotlin String
in Int
mit der Methode parseInt()
Eine andere Möglichkeit, Kotlin String
in Int
umzuwandeln, ist die Verwendung der Funktion parseInt()
. Sie funktioniert ähnlich wie die Methode toInt()
, mit dem wesentlichen Unterschied, dass parseInt()
einen Parameter akzeptiert.
Ein weiterer Unterschied zwischen den beiden besteht darin, dass toInt
zur Klasse String
gehört und parseInt()
eine Funktion der Kotlin-Klasse Int
ist.
So verwenden Sie die Methode parseInt()
, um Kotlin String
in Int
umzuwandeln.
fun main(){
val strVal = "246"
val intVal = Integer.parseInt(strVal)
println(intVal)
}
Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.
LinkedIn