Webエンジニアのメモ帳

技術的な話を中心に書いています。

【Java】小数の浮動小数点表記について

浮動小数点表記とは

Javaで少数を出力させると、値によって出力のされ方が変わります。

// 「0.00123」と出力される
System.out.println(0.00123);

// 「1.23E-4」と出力される
System.out.println(0.000123);

「1.23E-4」というのは、初めて見るとエラーのようにも見えますが、「1.23 × 10の-4乗」という意味です。

このような表記を「浮動小数点表記」と呼び、小数点以下に0が大量に続く場合などには読みやすくなるというメリットがあります。

浮動小数点表記で出力させない方法

しかし、「0.000123」というように出力させたい場合もあります。その場合は以下のように記述します。

// 「0.000123」と出力される
System.out.println(BigDecimal.valueOf(0.000123));

BigDecimalはあまり使用機会は多くないとは思いますが、知っておいて損はないでしょう。