0
0
JavaHow-ToBeginner · 3 min read

How to Use Math.ceil and Math.floor in Java

In Java, use Math.ceil(double value) to round a number up to the nearest whole number, and Math.floor(double value) to round down to the nearest whole number. Both methods return a double representing the rounded value.
📐

Syntax

Math.ceil(double value): Returns the smallest integer greater than or equal to value, as a double.

Math.floor(double value): Returns the largest integer less than or equal to value, as a double.

java
double ceilValue = Math.ceil(4.2);
double floorValue = Math.floor(4.8);
💻

Example

This example shows how Math.ceil rounds numbers up and Math.floor rounds numbers down.

java
public class RoundExample {
    public static void main(String[] args) {
        double num1 = 4.2;
        double num2 = 4.8;

        double ceilNum1 = Math.ceil(num1);
        double floorNum2 = Math.floor(num2);

        System.out.println("Math.ceil(" + num1 + ") = " + ceilNum1);
        System.out.println("Math.floor(" + num2 + ") = " + floorNum2);
    }
}
Output
Math.ceil(4.2) = 5.0 Math.floor(4.8) = 4.0
⚠️

Common Pitfalls

  • Both methods return a double, not an int. You may need to cast if you want an integer.
  • Using these methods on negative numbers can be confusing: Math.ceil(-4.2) returns -4.0 (rounds up), and Math.floor(-4.2) returns -5.0 (rounds down).
  • Do not confuse Math.ceil with rounding to nearest integer; it always rounds up.
java
public class PitfallExample {
    public static void main(String[] args) {
        double negativeNum = -4.2;

        System.out.println("Math.ceil(" + negativeNum + ") = " + Math.ceil(negativeNum));
        System.out.println("Math.floor(" + negativeNum + ") = " + Math.floor(negativeNum));

        // Casting example
        int ceilInt = (int) Math.ceil(4.2); // 5
        int floorInt = (int) Math.floor(4.8); // 4
        System.out.println("Casted ceil: " + ceilInt);
        System.out.println("Casted floor: " + floorInt);
    }
}
Output
Math.ceil(-4.2) = -4.0 Math.floor(-4.2) = -5.0 Casted ceil: 5 Casted floor: 4
📊

Quick Reference

MethodDescriptionExampleReturns
Math.ceil(double value)Rounds number up to nearest integerMath.ceil(4.2)5.0 (double)
Math.floor(double value)Rounds number down to nearest integerMath.floor(4.8)4.0 (double)

Key Takeaways

Use Math.ceil to always round a number up to the nearest whole number.
Use Math.floor to always round a number down to the nearest whole number.
Both methods return a double, so cast to int if needed.
Be careful with negative numbers as rounding direction may seem reversed.
Math.ceil and Math.floor do not round to nearest integer, only up or down.