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()の使い方 ― 小数の文字列を変換する
toDouble()は、文字列を小数(double型)に変えるときに使います。小数とは、「3.14」や「0.5」などのように、小数点がある数のことです。
fun main() {
val text = "3.14"
val number = text.toDouble()
println(number * 2)
}
実行結果:
6.28
このように、文字列"3.14"をtoDouble()で小数に変えて、計算に使うことができます。
4. 変換できない文字列に注意しよう
ここでひとつ注意点があります。もし"abc"のような、数字ではない文字をtoInt()やtoDouble()で変換しようとすると、プログラムが途中で止まってしまいます。
fun main() {
val text = "abc"
val number = text.toInt()
println(number)
}
実行すると、エラーが出ます:
Exception in thread "main" java.lang.NumberFormatException: For input string: "abc"
このように、数字として読めない文字列を変換しようとするとNumberFormatException(ナンバーフォーマットエクセプション)というエラーが出ます。これは「数値の形式が間違っています」という意味のエラーです。
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で始めるプログラミング入門|ゼロから「動く喜び」を体験