【Kotlin/Android Studio】文字列(String)を数値(Int)に変換する方法!toIntOrNull関数

この記事からわかること

  • Android Studio/Kotlin文字列(String)を数値(Int)に変換する方法
  • toIntOrNulltoInt関数使い方
  • 2進数16進数対応する
  • DoubleLongFloatなど
  • NumberFormatExceptionエラーとは?

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

公式リファレンス:toInt

環境

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だけでなくtoDoubletoFloattoLongtoShorttoByteなども用意されています。

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関数以外にもtoDoubleOrNulltoFloatOrNulltoLongOrNulltoShortOrNulltoByteOrNullが用意されています。

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index