JavaでBigDecimalクラスを使って四捨五入する方法【初心者向け】

初心者向けにJavaで四捨五入する方法について解説しています。Javaで四捨五入を行う際にはjava.math.BigDecimalクラスを使用します。四捨五入の処理と実行結果を実際の例で見てみましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

この記事では、Javaで四捨五入する方法について解説します。

実際にプログラムを書いて説明しているので、ぜひ理解しておきましょう。

 

なお本記事は、TechAcademyのJava講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

四捨五入する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

四捨五入をする方法

javaで四捨五入を行う場合、java.math.BigDecimalクラスを使います。BigDecimalクラスは小数点を含む計算を厳密に行いたいときに使います。

加算、減算、乗算、除算など通常に四則演算に加え、数値の比較や各種の丸め等ができます。

四捨五入を行う場合はBigDecimalクラスのsetScaleメソッドを使い、引数に桁数と丸めモードを指定します。この丸めモードでBigDecimal.ROUND_UPを指定すると四捨五入となります。

尚、利用する際はjava.math.BigDecimalクラスのimportが必要です。

JSPはWebページ内にJavaプログラムを埋め込む実装方法のことです。ページにアクセスするとサーバ上でJavaが実行されます。

Webページ内にJavaプログラムを埋め込む際はJavaのプログラム部分を<% ~ %>等で囲って示します。

<% ~ %>はスクリプトレットと言い、この中でjavaコードを自由に書くことができます。
<%@ ~ %>はディレクティブと言い、クラスのインポート、エンコード方式の指定等を行います。今回はjava.math.BigDecimalクラスのimportをこの中で行います。

 

実際に書いてみよう

JSP内でBigDecimalクラスを使って四捨五入した数値を表示するプログラムです。

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>四捨五入</title>
</head>
<body>
  <%@ page import="java.math.BigDecimal" %>

  <%
    //四捨五入する対象の数値でインスタンスを作成する
    BigDecimal num = new BigDecimal("1.245");

    //setScaleメソッドの引数に、桁数と丸めモードを指定する
    //ROUND_UPは四捨五入を意味する
    BigDecimal roundUp = num.setScale(2, BigDecimal.ROUND_UP);

    //結果を表示
    out.println("1.245を少数2桁になるよう四捨五入すると" + roundUp);
  %>

</body>
</html>

以下の部分ではjava.math.BigDecimalクラスのインポートを行っています。

<%@ page import="java.math.BigDecimal" %>

out.printlnメソッドを使用して、結果をWEBページで表示します。

 

上記プログラムをサーバ上で実行すると

1.245を少数2桁になるよう四捨五入すると1.25

が画面に表示されます。

 

[PR] Javaで挫折しない学習方法を動画で公開中

監修してくれたメンター

長屋雅美

独立系SIerで7年勤務後、現在はフリーのエンジニアとして自宅をオフィスとして活動しています。
JavaやC♯、shellscriptを用いた開発を主に担当し、TechAcademyではJavaコースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

また、オンラインのプログラミングスクールTechAcademyでは、Java講座を開催しています。

JavaやServletの技術を使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。