HOWTO · Kotlin

Kotlin で文字列を Int に変換するさまざまな方法

複数のパラメーターを受け入れるプログラムまたはアプリケーションを構築していて、整数パラメーターのみを確実に渡したい場合は、Kotlin 文字列を整数に変換できます。

アプリケーションまたは単純なプログラムを作成しているとします。 プログラム内の関数が整数値のみを受け入れる場合、StringInt に変換して、NumberFormatException またはその他の例外を防ぐ必要があります。

しかし、Kotlin StringInt に変換するにはどうすればよいでしょうか? それには複数の方法があります。 この記事では、Kotlin で StringInt に変換する方法をいくつか説明します。

toInt() メソッドを使用して、Kotlin StringInt に変換する

StringInt に変換するには、toInt() 関数を使用できます。 これを行うための標準的な構文を次に示します。

String.toInt()

これは、変換のために String インスタンスで toInt() メソッドを呼び出すことを意味します。 以下の例では、String "246"Int 246 に変換するためにこの構文を使用します。

fun main() {
    val strVal = "246"
    val intVal = strVal.toInt()
    println(intVal)
}

toInt() を使用して Kotlin 文字列を int に変換

ご覧のとおり、上記のプログラムは StringInt に正常に変換します。 しかし、変換できない String がある場合、toInt() 関数は InvalidFormatException 例外をスローします。

デモンストレーションの目的で、上記のコードの String "246"String "246b" に変更し、変換してみます。

fun main() {
    val strVal = "246b"
    val intVal = strVal.toInt()
    println(intVal)
}

変換できない文字列を int に変換すると NumberFormatException がスローされる

このプログラムは、"b" という文字を整数に変換できないため、java.lang.NumberFormatException をスローします。

したがって、例外を処理するには、try-catch ブロック内で toInt() 関数を使用する必要があります。 try-catch ブロックを使用すると、例外が発生した場合にデフォルトの出力値を割り当てることができます。

try-catch ブロックに toInt() 関数を組み込む方法は次のとおりです。

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.")
    }
}

try-catch ブロックで NumberFormatException を処理する

最初の toInt() メソッドは、上記のプログラムで String "246"Int に変換します。 しかし、2 番目の toInt() 関数が実行されると、NumberFormatException がスローされ、try-catch ブロックによって処理されます。

toIntOrNull() メソッドを使用して、Kotlin StringInt に変換する

try-catch ブロックを追加したくない場合は、代わりに toIntOrNull() 関数を使用できます。 名前が示すように、変換が失敗した場合、このメソッドは null 値を返します。

したがって、整数値のみが必要で、変換できない値について心配したくない場合は、toIntOrNull 関数を使用できます。

fun main(){
    val strVal = "246"
    val intVal = strVal.toIntOrNull()
    println (intVal)
}

toIntOrNull() 関数を使用して文字列を int に変換

変換が成功すると、Int 値が表示されます。 ただし、変換が失敗した場合は、Stringnull に変換されます。

fun main(){
    val strVal = "246b"
    val intVal = strVal.toIntOrNull()
    println (intVal)
}

toIntOrNull() 関数を使用すると、変換できない値が null と表示される

parseInt() メソッドを使用して、Kotlin StringInt に変換する

Kotlin StringInt に変換するもう 1つの方法は、parseInt() 関数を使用することです。 これは toInt() メソッドと同様に機能しますが、主な違いは parseInt() がパラメーターを取ることです。

この 2つの違いのもう 1つの点は、toIntString クラスに属し、parseInt() が Kotlin Int クラスの関数であることです。

parseInt() メソッドを使用して Kotlin StringInt に変換する方法は次のとおりです。

fun main(){
    val strVal = "246"
    val intVal = Integer.parseInt(strVal)
    println(intVal)
}

parseInt() 関数を使用して Kotlin 文字列を int に変換