Set Decimal Place of a Big Decimal Value in Java

Java 8Object Oriented ProgrammingProgramming

We have the following BigDecimal value −

BigDecimal val1 = new BigDecimal("37578975587.876876989");

We have set the decimal place to be −

int decPlaces1 = 3;

Now, we will use the ROUND_DOWN field to set the rounding mode to round towards zero −

// ROUND_DOWN
val1 = val1.setScale(decPlaces1, BigDecimal.ROUND_DOWN);
String str1 = val1.toString();
System.out.println("Result = "+str1);

To set decimal place of a BigDecimal value in Java, try the following code −

Example

 Live Demo

import java.math.BigDecimal;
public class Demo {
   public static void main(String[] argv) throws Exception {
      int decPlaces1 = 3;
      int decPlaces2 = 5;
      BigDecimal val1 = new BigDecimal("37578975587.876876989");
      BigDecimal val2 = new BigDecimal("62567875598.976876569");
      System.out.println("Value 1 : "+val1);
      System.out.println("Value 2 : "+val2);
      // ROUND_DOWN
      val1 = val1.setScale(decPlaces1, BigDecimal.ROUND_DOWN);
      String str1 = val1.toString();
      System.out.println("Result = "+str1);
      // ROUND_UP
      val2 = val2.setScale(decPlaces2, BigDecimal.ROUND_UP);
      String str2 = val2.toString();
      System.out.println("Result = "+str2);
   }
}

Output

Value 1 : 37578975587.876876989
Value 2 : 62567875598.976876569
Result = 37578975587.876
Result = 62567875598.97688
raja
Published on 21-Dec-2018 05:32:36
Advertisements