Javaのdouble型について|使い方や変換方法などまとめて解説!
  • facebookページ
  • twitterページ
  • 2021.01.01

    Javaのdouble型について|使い方や変換方法などまとめて解説!

    double型とは

    この記事では、Javaのdouble型について特徴や使い方を紹介します!

    double型は、Javaで小数を扱えるデータ型の1つです。

    プリミティブ型で、64ビットのサイズを扱えます。

    倍精度浮動小数点数とも呼ばれます。

    • 変数に小数値を代入
    • 文字列の小数を計算に使用
    • 割り算の計算結果を扱う

    上記のようなシチュエーションで、double型で小数を扱うことが多いです。

    その他のデータ型と比較してみると、次のようになります。

    データ型 種類 ビット数 範囲
    byte 数値 1バイト(8ビット) -128〜127(約128)
    short 数値 2バイト(16ビット) -32,768〜32,767(約3.2万)
    int 数値 4バイト(32ビット) -2,147,483,648〜2,147,483,647(約21億)
    long 数値 8バイト(64ビット) -9,223,372,036,854,775,808〜9,223,372,036,854,775,807(約900京)
    float 浮動小数点 4バイト(32ビット) ±3.40282347E+38~ 1.40239846E-45
    double 浮動小数点 8バイト(64ビット) ±1.79769313486231570E+308~±4.94065645841246544E-324
    boolean 真偽値 1ビット true or false

    浮動小数点には、float型もありますが、その違いは扱える範囲です。

    double型の方が、倍の範囲で小数値を扱えます。

    doubleとDoubleの違いは?

    「double と Double を見るけど、なにが違うんだろう?」と思う人もいるのではないでしょうか。

    doubleは、前述したようにプリミティブ型のデータ型です。

    一方、Doubleはクラスを指します

    Doubleクラスになるので、使用する際はオブジェクトを生成する必要があります。

    また、Doubleを使う例として、以下のような場合が挙げられるでしょう。

    • Doubleが持つメソッドを使う場合
    • 値がない(null)場合

    このように、doubleとDoubleがあるのは、使い方を分けたい場合に活用するためです。

    double型の使い方

    では、double型を実際に使ってみましょう。

    以下のプログラムは、身長と体重を表示するのと、BMI値を計算しています。

    実行結果は次の通りです。

    BMI値の計算部分を少し補足します。

    BigDecimal」を使うことで、小数点以下の正確な値の計算を行えるようにします。

    BigDecimalについては、以下の記事で詳しく解説しているので、ぜひ参考にしてみてください!

    【関連記事】

    ▶︎【Java】正確に計算するためにBigDecimalの使い方を覚えよう!

    また、setScaleメソッドを使うことで、小数点第1位で値を丸める処理も加えています。

    これらの処理によって、BMI値が計算された上で、小数点第1位で丸められた結果を取得しています。

    ポテパンダの一言メモ

    計算結果を正確にするために、BigDecimalを使いました。
    浮動小数点方式には、計算を行った際にわずかな誤差が発生することがあり、厳密な計算ができないというデメリットがあるからです。
    そのため、double型でそのまま計算することはオススメできません!
    計算する際は、必ずBigDecimalを用いましょう。

    double型の変換まとめ

    ここまで、double型の特徴や使い方を紹介しました。

    この章では、double型を他のデータ型に変換する方法について見ていきましょう。

    double型⇄int型の変換

    double型とint型を変換するには、キャストを行いましょう。

    記述方法は次の通りです。

    int型の値はdouble型に、double型の値はint型に変換できているのがわかります。

    double型をint型に変換する際に切り上げるには?

    double型の値をint型に変換した際に、値を切り上げたい場合があると思います。

    値の切り上げを行うには、ceilメソッドを使いましょう。

    ceilメソッドを使うことで、小数第1位を切り上げて値を取得できます。

    参考に記述例を載せると、次のようになります。

    double型をint型に変換した上で、値の切り上げができていますね。

    double型⇄String型の変換

    「数値と文字列を変換できるの?」と思うかもしれませんが、変換可能です!

    ここでは、double型とString型の変換を行ってみましょう。

    まず、double型をString型に変換するには、「valuOfメソッド」を使います。

    valueOfメソッドは、数値型を文字列型に変換できるメソッドです。

    例えば、次のように記述して変換できます。

    valueOfメソッドの引数に、変換したい変数(double型)を記述すればOKです。

    実行結果は、次のようになります。

    一方、String型をdouble型に変換するには、「parseDoubleメソッド」を使いましょう。

    使うことで、文字列をdouble型の値に変換可能です。

    次のように記述できます。

    このように、期待した結果を取得できました!

    double型のnullチェック

    double型でnullチェックをしたいと思っているかもしれません。

    しかし、double型はそもそもnullにはできないのです。

    冒頭で説明したように、doubleはプリミティブ型のデータ型です。

    そして、プリミティブ型はnullにできません。

    そのため、double型の変数はそもそもnullにならないというわけです。

    それでも、nullチェックを行う場合は、「isNaNメソッド」を使いましょう。

    「NaN」は、非数値を表します。

    nullではありませんが、nullチェックのような扱いでチェック可能です。

    次のように記述できます。

    使う機会は少ないと思いますが、覚えておくと便利でしょう。

    double型の四捨五入

    「double型をint型に変換する際に切り上げるには?」で、値を切り上げる方法について解説しました。

    切り上げと合わせて、ここでは四捨五入や切り捨ての方法も見ていきましょう。

    それぞれの処理で使うメソッドは、次の通りです。

    値の操作をする3つのメソッド
    • 切り上げ:ceilメソッド
    • 切り捨て:floorメソッド
    • 四捨五入:roundメソッド

    使い方は、ceilメソッドと同様です。

    実際にプログラムを動かして確認してみましょう。

    それぞれ、意図した動作になっています。

    ただし、マイナスの値を四捨五入すると次のような結果になります。

    まとめ

    Javaのdoube型について、使い方や変換方法などを紹介しました!

    double型は、少数を扱えることから割り算の計算や変換などでよく使われるデータ型です。

    精度の面からも、float型より頻繁に使われる機会が多いのです。

    また、ここでも紹介したように、int型からの変換や、文字列から変換する場合などもあります。

    覚えることが多いように感じるかもしれませんが、ぜひこの記事で使い方をしっかり覚えていってください!



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE