BigDecimal Rounding mode

In this chapter you will learn:

  1. What are the rounding mode for BigDecimal
  2. Use different rounding mode to do calculation

Rounding mode for BigDecimal

  • static int ROUND_CEILING
    Round towards positive infinity.
  • static int ROUND_DOWN
    Round towards zero.
  • static int ROUND_FLOOR
    Round towards negative infinity.
  • static int ROUND_HALF_DOWN
    Round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down.
  • static int ROUND_HALF_EVEN
    Round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor.
  • static int ROUND_HALF_UP
    Round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up.
  • static int ROUND_UNNECESSARY
    No rounding is necessary.
  • static int ROUND_UP
    Rounding mode to round away from zero.

Effect of rounding mode

The following code uses different rounding mode to do calculation.

import java.math.BigDecimal;
 /*from j  a v  a 2s . c  om*/

public class Main {
 
    public static void main(String[] args) {
        BigDecimal first = new BigDecimal(1f);
        BigDecimal second = new BigDecimal(2f);
 
        BigDecimal result1 = first.divide(second, BigDecimal.ROUND_CEILING);
        BigDecimal result2 = first.divide(second, BigDecimal.ROUND_DOWN);
        BigDecimal result3 = first.divide(second, BigDecimal.ROUND_FLOOR);
        BigDecimal result4 = first.divide(second, BigDecimal.ROUND_HALF_DOWN);
        BigDecimal result5 = first.divide(second, BigDecimal.ROUND_HALF_EVEN);
        BigDecimal result6 = first.divide(second, BigDecimal.ROUND_HALF_UP);
        BigDecimal result7 = first.divide(second, BigDecimal.ROUND_UP);
 
        System.out.println(result1);
        System.out.println(result2);
        System.out.println(result3);
        System.out.println(result4);
        System.out.println(result5);
        System.out.println(result6);
        System.out.println(result7);
 
    }
}

The output:

Next chapter...

What you will learn in the next chapter:

  1. How to create Java BigDecimal
  2. How to create BigDecimal from MathContext
Home » Java Tutorial » BigDecimal BigInteger

BigDecimal

    BigDecimal
    BigDecimal constants
    BigDecimal Rounding mode
    BigDecimal creation
    BigDecimal calculation
    BigDecimal convert
    BigDecimal Comparison
    BigDecimal to String
    BigDecimal decimal point
    BigDecimal precision
    BigDecimal format

BigInteger

    BigInteger class
    BigInteger creation
    BigInteger add, subtract, multiply and divide
    BigInteger power and modPow
    BigInteger conversion
    BigInteger to String
    BigInteger bit and,or,xor,test,flip,negate
    BigInteger bit shift left and right
    BigInteger prime value
    BigDecimal
    BigDecimal constants
    BigDecimal Rounding mode
    BigDecimal creation
    BigDecimal calculation
    BigDecimal convert
    BigDecimal Comparison
    BigDecimal to String
    BigDecimal decimal point
    BigDecimal precision
    BigDecimal format