2016/02/15 公開
・非数値 NaN
計算の結果が数値として表せないときに、その値をNaNと表現します。
具体的には、平方根を計算するMath.sqrtメソッドにマイナスの値を渡すとNaNが返ります。
以下のJavaのソースコードは、Math.sqrtメソッドに-1.0を渡して、その結果を表示するものです。
CalcError1.java ← クリックしてダウンロードページに移動001: public class CalcError1 { 002: public static void main( String[] args ) { 003: System.out.println( "-1.0の平方根=" + Math.sqrt( -1.0f ) ); 004: } 005: }
CalcError1の出力結果
-1.0の平方根=NaN
次のJavaのソースコードは、計算結果が非数値(NaN)かどうかを判定するメソッドを使ったサンプルです。
CalcError2.java ← クリックしてダウンロードページに移動001: public class CalcError2 { 002: public static void main( String[] args ) { 003: double a; 004: 005: // -1.0の平行根を計算 006: a = Math.sqrt( -1.0f ); 007: 008: // aがNaNかどうか判定 009: if ( true == Double.isNaN( a ) ) 010: System.out.println( "計算結果が無効です" ); 011: else 012: System.out.println( a ); 013: } 014: }
CalcError2の出力結果
計算結果は無効です
以下が、非数値かどうか判定するメソッドです。
Double.NaNメソッド
public static boolean Double.isNaN( double a )
■引数aで指定した値が非数値(NaN)であるかを判定 パラメータ a : double型の数値 戻り値 NaNであればtrue、NaNでなければfalse
Float.NaNメソッド
public static boolean Float.isNaN( float a )
■引数aで指定した値が非数値(NaN)であるかを判定 パラメータ a : float型の数値 戻り値 NaNであればtrue、NaNでなければfalse
■関連コンテンツ
Javaの変数 | Javaで扱う変数について解説 |
平方根 | Math.sqrtの使い方について解説 |
無限大 Infinity | 無限大(∞)について |
■新着情報
2021.12.21 | 現在の日時を取得 | いまの年月日、時分秒? |
■広告
