こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 JavaでString型をdouble型に変換できるDouble.parseDoubleメソッドについて
- Double.parseDoubleメソッドとは
- Double.parseDoubleメソッドを使うときの注意点
- Double.parseDoubleメソッドを使ったサンプルプログラム
と、丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
IntelliJ IDEAのエディション | Community(無料版) |
IntelliJ IDEAのバージョン | 2021.3.2 |
プロジェクト | Javaプロジェクト |
SDK | Oracle OpenJDK version17.0.2 |
Javaを動かすためにIntelliJ IDEAを使っています。
IntelliJ IDEAのインストールは、下の記事をご参考ください。
Double.parseDoubleメソッドとは
Double.parseDoubleメソッドとは、引数に与えられたString型の数値をdouble型に変換して返すメソッドです。
使い方サンプルは以下になります。
1 2 |
String sample = "1.23"; double result = Double.parseDouble(sample); |
変数resultにはdouble型の
1 |
1.23 |
という値が返されます。
Double.parseDoubleメソッドを使うときの注意点
Double.parseDoubleメソッドを使うときの注意点として
- 数値でない文字列は変換できない
- nullも変換できない
の2点があります。
それぞれ解説します。
注意点その1:数値でない文字列は変換できない
注意点その1の数値でない文字列は変換できない、についてです。
Double.parseDoubleメソッドでは、数値でない文字列は変換できません。
なのでたとえば
1 2 |
String sample = "test"; double result = Double.parseDouble(sample); |
文字列をDouble.parseDoubleメソッドでdouble型に変換しようとした場合、コンパイルは通るものの実行すると
1 |
Exception in thread "main" java.lang.NumberFormatException |
という例外が発生します。
空文字列も同様な例外が発生します。
注意点その2:nullも変換できない
注意点その2のnullも変換できない、についてです。
Double.parseDoubleメソッドでは、nullも変換できません。
注意点その1と同様に
1 2 |
String sample = null; double result = Double.parseDouble(sample); |
nullをDouble.parseDoubleメソッドでdouble型に変換しようとした場合、コンパイルは通るものの実行すると
1 |
Exception in thread "main" java.lang.NullPointerException |
という例外が発生します。
では、次の章で実際に使ってみます。
Double.parseDoubleメソッドを解説するプログラムの概要
Double.parseDoubleメソッドを解説するプログラムでは
- 正の浮動小数点数
- 負の浮動小数点数
- 浮動小数点数型リテラル
の3種類のString型の文字列を作成し、Double.parseDoubleメソッドで変換します。
変換後の値を表示させ変換できているかを確認します。
解説で使うJavaプログラムは、Sampleプロジェクトのsampleパッケージ内にある、とします。
Javaサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package sample; public class Sample { public static void main(String[] args) { System.out.println("■String型からdouble型に変換"); String str1 = "1.3"; String str2 = "-9.8"; String str3 = "10.6d"; double number1 = Double.parseDouble(str1); double number2 = Double.parseDouble(str2); double number3 = Double.parseDouble(str3); System.out.println("正の浮動小数点数number1の値:" + number1); System.out.println("負の浮動小数点数number2の値:" + number2); System.out.println("浮動小数点数型リテラルnumber3の値:" + number3); } } |
実行結果
Javaプログラムを実行します。
実行のやり方は
- プログラムを右クリックして実行
- 実行タブから実行
- ガターから実行
の3種類あるので、いずれかで実行します。
詳しい解説は以下の記事をご参考ください。
1 2 3 4 |
■String型からdouble型に変換 正の浮動小数点数number1の値:1.3 負の浮動小数点数number2の値:-9.8 浮動小数点数型リテラルnumber3の値:10.6 |
すべての文字列がdouble型に変換できていることが確認できました。
まとめ:Double.parseDoubleメソッドを使ってみよう!
以上がJavaのDouble.parseDoubleメソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント
大変分かりやすかったです。
青さんへ
コメントありがとうございます。
そう言って頂けて、とても嬉しいです!