Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
文字列.toInt() / toDouble()
文字列を数値型に変換したり、数値を文字列に変換するための拡張関数です。変換に失敗した場合の安全な処理も提供しています。
構文
// 文字列を整数に変換します。変換失敗時は NumberFormatException をスローします。 文字列.toInt() 文字列.toInt(radix: Int) // 基数を指定して変換 // 変換失敗時に null を返す安全なバージョンです。 文字列.toIntOrNull() // 数値を文字列に変換します。 数値.toString() 数値.toString(radix: Int) // 基数を指定して文字列化
メソッド一覧
| メソッド | 概要 |
|---|---|
| toInt() | 文字列を『Int』に変換します。失敗時は『NumberFormatException』をスローします。 |
| toIntOrNull() | 文字列を『Int』に変換し、失敗時は『null』を返します。 |
| toLong() / toLongOrNull() | 文字列を『Long』に変換します。 |
| toDouble() / toDoubleOrNull() | 文字列を『Double』に変換します。 |
| toFloat() / toFloatOrNull() | 文字列を『Float』に変換します。 |
| toBooleanStrict() | 文字列を『Boolean』に変換します。「true」「false」以外は例外です。 |
| toString() | 任意のオブジェクトを文字列に変換します。数値では基数の指定も可能です。 |
サンプルコード
fun main() {
// 文字列を整数に変換します。
val numStr = "42"
val num = numStr.toInt()
println(num + 8) // 50
// 変換失敗時に null を返します。
val invalid = "abc"
val result = invalid.toIntOrNull()
println(result) // null
// エルビス演算子と組み合わせてデフォルト値を設定します。
val value = "xyz".toIntOrNull() ?: 0
println(value) // 0
// 浮動小数点数に変換します。
val pi = "3.14159"
println(pi.toDouble()) // 3.14159
// 16進数文字列を変換します。
val hex = "ff"
println(hex.toInt(radix = 16)) // 255
// 数値を文字列に変換します。
val n = 255
println(n.toString()) // 255
println(n.toString(radix = 2)) // 11111111(2進数)
println(n.toString(radix = 16)) // ff(16進数)
// 文字列テンプレートでも自動変換されます。
val score = 98
println("あなたのスコアは ${score}点です。")
}
概要
『toInt()』などの変換関数は、文字列が適切な形式でない場合に『NumberFormatException』をスローします。ユーザー入力や外部データを扱う場合は、必ず『toIntOrNull()』などの安全なバージョンを使用し、『null』チェックを行ってください。
『toString()』はKotlinのすべてのオブジェクトが持つメソッドです。数値に対して呼び出す場合は基数(2〜36)を指定でき、2進数・8進数・16進数への変換に利用できます。文字列テンプレート(『${}』)内では自動的に『toString()』が呼び出されます。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。