【Kotlin/Android Studio】文字列(String)を数値(Int)に変換する方法!toIntOrNull関数
この記事からわかること
- Android Studio/Kotlinで文字列(String)を数値(Int)に変換する方法
- toIntOrNullやtoInt関数の使い方
- 2進数や16進数に対応する
- DoubleやLong、Floatなど
- NumberFormatExceptionエラーとは?
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
環境
- Android Studio:Flamingo
- Kotlin:1.8.20
Kotlinで文字列から数値に変換する方法
fun String.toInt(): Int
Kotlinで文字列(String)を数値(Int)に変換するにはtoInt
関数を使用します。もし対象の文字列を数値に変換できない場合はNumberFormatException
という例外をスローします。
val strInt = "123".toInt()
print(strInt) // 結果:123
try {
val strInt = "abc".toInt()
} catch (ex : NumberFormatException) {
System.err.print(ex)
}
// 結果:java.lang.NumberFormatException: For input string: "abc"
基数を指定して16進数などを変換する
fun String.toInt(radix: Int): Int
またtoInt(radix: Int)
関数を使用することで引数に指定した基数(2進数や16進数など)への変換が可能になります。
val strInt = "111".toInt(2)
print(strInt) // 結果: 7
val strInt2 = "333".toInt(8)
print(strInt2) // 結果: 219
val strInt3 = "FFFF".toInt(16)
print(strInt3) // 結果: 65535
DoubleやLong、Floatなどに変換する
String型からInt型への変換をするtoInt
だけでなくtoDouble
、toFloat
、toLong
、toShort
、toByte
なども用意されています。
val strInt = "123".toInt()
print(strInt) // 結果: 123
val strDouble = "3.14".toDouble()
print(strDouble) // 結果: 3.14
val strFloat = "2.5".toFloat()
print(strFloat) // 結果: 2.5
val strLong = "9876543210".toLong()
print(strLong) // 結果: 9876543210
val strShort = "42".toShort()
print(strShort) // 結果: 42
val strByte = "7".toByte()
print(strByte) // 結果: 7
toIntOrNull関数
toIntOrNull
関数を使用することで変化できない場合にNumberFormatException
ではなくnull
が返ってくるようにすることが可能です。
val strInt = "123".toIntOrNull() // 結果: 123
val strInt2 = "abc".toIntOrNull() // 結果: null
またもちろんtoIntOrNull
関数以外にもtoDoubleOrNull
、toFloatOrNull
、toLongOrNull
、toShortOrNull
、toByteOrNull
が用意されています。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。