KotlinのtoInt・toDoubleの使い方をやさしく解説!文字列から数値に変換する方法
生徒
「Kotlinで、数字っぽい文字列を本物の数字にするにはどうしたらいいですか?」
先生
「とても良いところに気がつきましたね。Kotlinでは、toInt()やtoDouble()というメソッドを使って、文字列を整数や小数に変えることができますよ。」
生徒
「なるほど!それって難しいんですか?」
先生
「いえいえ、とても簡単です!具体的な使い方を見ていきましょう!」
1. Kotlinで文字列から数値に変換する基本
Kotlin(ことりん)では、データには「型(かた)」という種類があります。文字としての"100"(String型)と、計算ができる数字の100(Int型)は、見た目は似ていてもコンピュータにとっては別物です。
たとえば、ユーザーがアプリの入力フォームに「25」と打ち込んだとき、プログラムはそれをまず「文字」として受け取ります。この「文字」のままだと、足し算や引き算などの計算ができません。そこで、文字列を数値データに変換するという作業が必要になります。
初心者の方向けに、まずは簡単なイメージをコードで見てみましょう。
fun main() {
val textAge = "25" // これは「文字」
// 文字列を整数(Int)に変換!
val numAge = textAge.toInt()
// 数値になったので計算ができるようになります
println(numAge + 1) // 26 と表示される
}
このように、.toInt()(整数へ)や.toDouble()(小数へ)という命令(メソッド)を文字列の後ろにつけるだけで、簡単に「計算可能な数字」へと変えることができます。これがKotlinにおける数値変換の第一歩です。
2. toInt()の使い方 ― 文字列を「計算できる整数」に変換する
プログラミングをしていると、ユーザーが入力した数字や、ファイルから読み込んだ数字が、計算できない「文字(String型)」として扱われることがよくあります。たとえば、"100"という文字に 1 を足しても、そのままでは 101 にはなりません。計算機として正しく動作させるには、文字を整数(int型)に変換する必要があります。
そこで登場するのが toInt() です。これを使うと、小数点のないスッキリした数字(整数)に作り変えることができます。数学で使う「123」や「0」、マイナスの「-50」などがこれにあたります。
まずは、最もシンプルな書き方を見てみましょう:
fun main() {
// ダブルクォーテーションで囲まれた "123" はただの「文字」
val textNumber = "123"
// toInt() を使って「計算できる数字」に変換!
val realNumber = textNumber.toInt()
// 数字になったので、算数の計算ができるようになります
val result = realNumber + 10
println("計算結果: " + result)
}
実行結果:
計算結果: 133
このプログラムでは、最初はただの文字だった "123" を toInt() で数値データに変換しています。そのおかげで、後ろに続く + 10 という足し算が正しく行われ、結果として 133 が表示されました。
もし変換せずに "123" + 10 と書こうとすると、エラーになったり、文字がくっついて 12310 になってしまったりしますが、toInt() を一挟みするだけで、コンピュータはそれを「数」として認識してくれるようになります。初心者の方が最初につまずきやすい「文字と数字の違い」を解決する、魔法の呪文のような機能です。
3. toDouble()の使い方 ― 小数の文字列を変換する
プログラミングの世界では、整数のほかに「3.14」や「0.5」といった小数点を含む数値(double型)を頻繁に扱います。Webフォームから入力された金額や、センサーから取得した計測値などは、最初は「文字列」として扱われることが多いため、計算を行う前にtoDouble()を使って数値に変換する必要があります。
double型とは?
「2倍(double)の精度」を持つことから名付けられた、小数を扱うためのデータ形式です。非常に大きな数や、細かい小数点以下の数値を扱うのに適しています。
fun main() {
// 1. 文字列として小数を定義する
val priceText = "150.5"
// 2. toDouble()を使って数値(double型)に変換
val priceNumber = priceText.toDouble()
// 3. 数値になったので、算術演算(計算)ができるようになる
val total = priceNumber * 1.1 // 10%の税込み計算など
println("変換後の数値: " + priceNumber)
println("計算結果(税込み): " + total)
}
実行結果:
変換後の数値: 150.5
計算結果(税込み): 165.55
上記のサンプルでは、文字列の"150.5"をtoDouble()で変換したことで、* 1.1のような掛け算が可能になりました。もし変換せずに文字列のまま計算しようとすると、エラーが発生してプログラムは動きません。このように、「文字としての数字」を「計算できる数字」へ橋渡しするのが、このメソッドの重要な役割です。
注意点として、"abc"のような数値として読み取れない文字列を変換しようとするとエラーが発生するため、必ず「半角の数字と小数点」で構成された文字列に対して使うようにしましょう。
4. 変換できない文字列に注意しよう(エラーへの対策)
プログラミングを始めたばかりの人が必ずと言っていいほど直面するのが、「数値として読み取れないデータ」を変換しようとした時に発生するエラーです。例えば、ユーザーが入力した文字が"100"ではなく、うっかり"abc"や全角の"100"だった場合、プログラムはその内容を理解できずに処理を中断してしまいます。
実際に、エラーが発生する典型的な例を見てみましょう。ここではKotlinを使って、計算できない文字を無理やり数値に変えようとした時の挙動を確認します。
fun main() {
val text = "abc" // 数字ではない文字列
val number = text.toInt() // ここで「数値に変換して!」と指示
println(number)
}
このプログラムを実行すると、コンソールには以下のような赤い警告メッセージ(例外)が表示されます:
Exception in thread "main" java.lang.NumberFormatException: For input string: "abc"
これはNumberFormatException(ナンバーフォーマットエクセプション)と呼ばれるエラーです。日本語に訳すと「数値の形式が正しくありません」という意味になります。コンピュータは非常に厳格なので、"123"のような純粋な半角数字以外は「これは数字ではない」と判断してエラーを投げてしまうのです。
開発の現場では、このようなエラーでアプリが強制終了しないように、入力された値が本当に数字かどうかを事前にチェックしたり、変換に失敗しても動くような「安全な書き方」をすることが非常に重要になります。エラーは決して悪いことではなく、「データの形式を見直してね」というコンピュータからの親切な合図だと捉えましょう。
5. 安全に変換するには? toIntOrNull()とtoDoubleOrNull()
文字列が正しい数字かどうか分からないときは、toIntOrNull()やtoDoubleOrNull()を使うと便利です。これらは、変換できないときにエラーを出す代わりに、null(ヌル)を返してくれます。
つまり、失敗してもプログラムが止まらないのです。
fun main() {
val text = "abc"
val number = text.toIntOrNull()
if (number != null) {
println("変換できました: $number")
} else {
println("数値に変換できませんでした。")
}
}
実行結果:
数値に変換できませんでした。
toIntOrNull()やtoDoubleOrNull()を使えば、安全に文字列をチェックしてから変換できます。
Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。
基礎からわかるKotlinをAmazonで見る※ Amazon広告リンク
6. どんなときに使うの?文字列から数値変換の活用シーン
たとえば、Webフォームやアプリの入力欄では、ユーザーが入力した値は最初は文字列として受け取ります。でも、「年齢」や「料金」などの数字として扱いたい場合は、数値に変換する必要があります。
次のようなシーンで使われます:
- ユーザーが入力した「年齢」を整数にして年齢制限チェック
- 「商品の価格」を文字列から小数にして合計金額を計算
- CSVファイルなどから読み込んだ文字列データを数値に変換
Kotlinでの数値変換は、現実のアプリ開発でとてもよく使う基本テクニックです。
【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分
「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。
本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。
具体的な体験内容と環境
【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。
【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。
この60分で得られる3つの体験
プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。
「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。
Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。
※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。
Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験