Skip to content
Related Articles

Related Articles

Improve Article

How to Truncate the Double Value to Given Decimal Places in Java?

  • Last Updated : 15 Dec, 2020

In simplest terms, truncation means to chop off the decimal portion of a number. A method of approximating a decimal number by dropping all decimal places past a certain point without rounding.

Given a double value and a decimal place truncate the value to the given decimal point.

Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.

Example: 

Input: val = 3.142857142857143
Decimal point = 3
Output =  3.142

Upto 3 decimal places

 Approach 1: Using Mathematically :



  • Shift the decimal of the given value to the given decimal point by multiplying 10^n
  • Take the floor of the number and divide the number by 10^n
  • The final value is the truncated value

Java




// Java program to truncate the double value to
// a particular decimal point
  
import java.io.*;
  
class GFG {
  
    static void change(double value, int decimalpoint)
    {
  
        // Using the pow() method
        value = value * Math.pow(10, decimalpoint);
        value = Math.floor(value);
        value = value / Math.pow(10, decimalpoint);
  
        System.out.println(value);
  
        return;
    }
    
      // Main Method
    public static void main(String[] args)
    {
  
        double firstvalue = 1212.12131131;
        int decimalpoint = 4;
  
        change(firstvalue, decimalpoint);
  
        double secondvalue = 3.142857142857143;
        int decimalpoint2 = 3;
  
        change(secondvalue, decimalpoint2);
    }
}
Output
1212.1213
3.142

Approach 2: Using String matching approach

  • Convert the number into String
  • Start the counter variable when “.” found in the String
  • Increment the counter till decimal point
  • Store the new String and parse it in double format

Java




// Java program to truncate the double
// value using string matching
  
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        double firstvalue = 1212.12131131;
  
        // decimal point
        int decimalpoint = 6;
  
        // convert the double value in string
        String temp_value = "" + firstvalue;
        String string_value = "";
  
        int counter = -1;
  
        for (int i = 0; i < temp_value.length(); ++i) {
  
            // checking the condition
            if (counter > decimalpoint) {
                break;
            }
            else
  
                if (temp_value.charAt(i) == '.') {
                counter = 1;
            }
            else if (counter >= 1) {
  
                ++counter;
            }
  
            // converting the number into string
            string_value += temp_value.charAt(i);
        }
  
        // parse the string
        double new_value = Double.parseDouble(string_value);
  
        System.out.println(new_value);
    }
}
Output
1212.121311



My Personal Notes arrow_drop_up
Recommended Articles
Page :