2024.10.16
Doubleクラス
はじめに
double型の正の有限値の最小はDouble.MIN_VALUE、最大はDouble.MAX_VALUEで取得することができます。
Double.MIN_VALUE定数
public static doulle Double.MIN_VALUE
・doubleの最小の正の有限値 4.94065645841247E-324
Double.MAX_VALUE定数
public static double Double.MAX_VALUE
・doubleの最大の正の有限値 1.7976931348623157E+308
double型をString型に変換するには、Double.toStringメソッドを使います。以下は、Doubleクラスが保持しているdouble型の値を文字列に変換するメソッドと、double型の値を指定して文字列に変換するメソッドです。
Double.toStringメソッド
public String toString()
・doubleの値を表すStringオブジェクトを返します。 パラメータ : なし
public static String toString( double d )
・指定されたdouble値を表すStringオブジェクトを返します。 パラメータ d : 文字列に変換するdoubleの値
Double.parseDoubleメソッド
public static double parseDouble( String s )
・指定されたStringが表す値に初期化された新しいdouble値を返します。 パラメータ s : 文字列 戻り値 文字列引数で表されるdouble値
Double.valueOfメソッド
public static Double valueOf( String s )
・指定されたStringの値を保持するDoubleオブジェクトを返します。 パラメータ s : 整数(Doubleクラス)に変換する文字列の値 戻り値 Doubleクラスの値
Javaソースコード
DoubleClass1.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040
public class DoubleClass1 { public static void main( String[] args ) { // doublet型の有効範囲 System.out.println( "double型の有効範囲 最小値 : " + Double.MIN_VALUE ); System.out.println( "double型の有効範囲 最大値 : " + Double.MAX_VALUE ); System.out.println(); // 変数 double d; String s; // doubleの100.0をStringに変換 d = 100.0; s = Double.toString( d ); System.out.println( d + "を文字列に変換 : " + s ); System.out.println(); // String'200'をdoubleに変換 s = "200"; d = Double.parseDouble( s ); System.out.println( s + "を実数に変換 : " + d ); System.out.println(); // String'300'をdoubleに変換 s = "300"; d = Double.valueOf( s ); System.out.println( s + "を実数に変換 : " + d ); System.out.println(); // String'abcdefg'をdoubleに変換(エラー) try { s = "abcdefg"; d = Double.valueOf( s ); } catch( NumberFormatException ne ) { System.out.println( s + "は実数に変換できません" ); } } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis DoubleClass1.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac DoubleClass1.java
実行
C:\talavax\javasample>java DoubleClass1
実行結果
double型の有効範囲 最小値 : 4.9E-324 double型の有効範囲 最大値 : 1.7976931348623157E308 100.0を文字列に変換 : 100.0 200を実数に変換 : 200.0 300を実数に変換 : 300.0 abcdefgは実数に変換できません
このサンプルソースの例では、文字列'abcdefg'をDouble.valueOfメソッドで数値に変換しようとしていますが変換に失敗し、NumberFormatExceptionが発生します。これは、文字列を数値型に変換しようとしたとき、文字列の形式が正しくない場合に発生します。
try~catch節が無い場合、変換エラーでプログラムは強制終了します。
以上です。