Javaで数値を小数点以下n桁に丸める方法を徹底解説
この記事では、Javaを使って数値を小数点以下n桁に丸める方法について解説します。小数値の丸め処理には、CEIL(切り上げ)やFLOOR(切り捨て)関数が使われるほか、JavaではDecimalFormatクラスとRoundingModeを組み合わせる方法が広く利用されています。
入出力の例
今回作成するプログラムは、次のように動作します。
入力:
3.1415
出力:
3.2
アルゴリズム
処理の流れは以下の通りです。
ステップ1 - 開始 ステップ2 - float型の変数(my_input)を宣言する ステップ3 - ユーザーから値を入力してもらう、または値をあらかじめ定義する ステップ4 - DecimalFormatとRoundingMode.CEILINGを使って、数値を指定した小数点以下の桁数に丸め、結果を保存する ステップ5 - 結果を表示する ステップ6 - 終了
例1:Scannerでユーザー入力を受け付ける場合
この例では、Scannerクラスを使ってユーザーが入力した値を丸めます。オンラインの実行環境(コーディンググラウンドツール)でも、そのまま動作を確認できます。
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.Scanner;
public class DecimalFormatting {
public static void main(String[] args) {
float my_input;
System.out.println("Required packages have been imported");
Scanner my_scanner = new Scanner(System.in);
System.out.println("A scanner object has been defined ");
System.out.print("Enter the first binary number : ");
my_input = my_scanner.nextFloat();
DecimalFormat roundup_decimal = new DecimalFormat("#.#");
roundup_decimal.setRoundingMode(RoundingMode.CEILING);
System.out.println("The rounded up value of " + my_input + " is ");
System.out.println(roundup_decimal.format(my_input));
}
}
出力結果
Required packages have been imported A scanner object has been defined Enter the first binary number : 3.1415 The rounded up value of 3.1415 is 3.2
例2:値をあらかじめ定義しておく場合
この例では、丸めたい数値をコード内で直接定義し、その値を丸めた結果をコンソールに表示します。
import java.math.RoundingMode;
import java.text.DecimalFormat;
public class DecimalFormatting {
public static void main(String[] args) {
System.out.println("Required packages have been imported");
double my_input = 3.1415;
System.out.println("The decimal number is defined as " + my_input);
DecimalFormat roundup_decimal = new DecimalFormat("#.#");
roundup_decimal.setRoundingMode(RoundingMode.CEILING);
System.out.println("The rounded up value of " + my_input + " is ");
System.out.println(roundup_decimal.format(my_input));
}
}
出力結果
Required packages have been imported The decimal number is defined as 3.1415 The rounded up value of 3.1415 is 3.2
ポイント解説
サンプルコードで使用している主な要素は次の通りです。
- new DecimalFormat("#.#"):パターン「#.#」を指定すると、小数点以下1桁に整形されます。「#.##」に変更すれば小数点以下2桁、「#.###」なら3桁に対応できます。
- RoundingMode.CEILING:正の無限大方向へ丸めるモードで、切り上げ(CEIL)に相当します。逆に切り捨てたい場合はRoundingMode.FLOORを指定してください。
- format()メソッド:数値をパターンに従って文字列として整形し、指定した桁数に丸めた結果を返します。
このように、DecimalFormatとRoundingModeを組み合わせれば、数行のコードで柔軟な丸め処理を実現できます。用途に応じてパターンや丸めモードを変更しながら、ぜひいろいろなケースで試してみてください。
-
Javaで2つの数値を加算するプログラムの書き方【初心者向けサンプルコード付き】
この記事では、Javaで2つの数値を加算(足し算)する方法について詳しく解説します。数値の加算は、基本的な「+」演算子を使用することで簡単に実装できます。以下に具体的な例を示します。入力例input_1 : 10 input_2 : 15出力例Sum : 25アルゴリズム2つの数値を加算するプログラムは、以下の手順で実装します。Step1- 開始 Step 2- 3つの整数型変数 input_1、input_2、sum を宣言する Step 3- ユーザーに2つの整数値の入力を促す/整数値を定義する Step 4- 値を読み込む Step 5- 加算演算子(+)を使用して2つの値を足し合わせる
-
Javaで文字列を出力するプログラムの書き方|サンプルコード付きで解説
この記事では、Javaで文字列を出力する方法について詳しく解説します。文字列(String)とは、文字や英数字が組み合わさって構成されるデータのことです。最も簡単に文字列を作成するには、次のように記述します。String str = Welcome to the club!!!コード内に文字列リテラルが現れると、コンパイラはその値を持つStringオブジェクトを自動的に生成します。この例では「Welcome to the club!!!」という文字列オブジェクトが作成されます。Javaにおける文字列の扱い他のオブジェクトと同様に、newキーワードとコンストラクタを使ってStringオブジェクト