Javaのfloorメソッドで、切り捨てを行うサンプルです。
目次
説明 | 切り捨てる(floorメソッド) |
サンプル | 小数第一位で切り捨てる |
小数第二位または小数第三位で切り捨てる | |
1の位または10の位で切り捨てる |
切り捨てる(floorメソッド)
public static double floor(double a) |
- floorメソッドは、小数第一位で切り捨てます。
- 少数第一位以外を対象とする場合は、値を10倍にしたり1/10にする等の操作で求めることができます。
- staticメソッドなのでインスタンスの生成は不要です。
- 引数はdouble型で戻り値もdouble型です。
- floorは床という意味です。
小数第一位で切り捨てる
package test1;
public class Test1 {
public static void main(String[] args) {
// 小数第一位で切り捨て
double a = 2.26;
System.out.println(Math.floor(a)); //2.0
// 小数第一位で切り捨て
double b = 2.82;
System.out.println(Math.floor(b)); //2.0
// マイナス値の場合
double c = -2.82;
System.out.println(Math.floor(c)); // -3.0
}
}
floorメソッドで小数第一位を切り捨てています。
9行目は、マイナスの値の場合です。
小数第二位または小数第三位で切り捨てる
package test1;
public class Test1 {
public static void main(String[] args) {
double a = 12.262;
// 小数第二位で切り捨て
System.out.println((Math.floor(a * 10)) / 10); // 12.2
// 小数第三位で切り捨て
System.out.println((Math.floor(a * 100)) / 100); // 12.26
}
}
8行目は、小数第二位で切り捨てています。以下の操作です。
1.対象の値に10を掛けます。(12.262 * 10 = 122.62)
2.floorメソッドを使用して小数点以下で切り捨てます。(122.62 → 122)
3.対象の値を再度10で割ります。(122 / 10 = 12.2)
※小数第一位以外を切り捨てする場合はBigDecimalクラスのメソッドもあります。
Java 小数点以下の切り捨てのサンプル(setScale)
1の位または10の位で切り捨てる
package test1;
public class Test1 {
public static void main(String[] args) {
double a = 122.2;
// 1の位で切り捨て
System.out.println((Math.floor(a/10)) * 10); // 120.0
// 10の位で切り捨て
System.out.println((Math.floor(a/100)) * 100); // 100.0
}
}
8行目は、1の位で切り捨てています。以下の操作です。
1.対象の値を10で割ります。(122.2 / 10 = 12.22)
2.floorメソッドを使用して小数点以下で切り捨てます。(12.22 → 12)
3.対象の値を再度10で掛けます。(12 * 10 = 120)
以下はJava8 API仕様のMathクラスのfloorメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Math.html#floor-double-
関連の記事
Java 切り上げのサンプル(ceil)
Java 四捨五入するサンプル(round)
Java 小数点がある計算のサンプル(BigDecimal)