BigInteger doubleValue() Method in Java

The java.math.BigInteger.doubleValue() converts this BigInteger to a double value. If the value return by this function is too big for a magnitude to represent as a double then it will be converted to Double.NEGATIVE_INFINITY or Double.POSITIVE_INFINITY as appropriate. There is a chance that this conversion can lose information about the precision of the BigInteger value.

Syntax:

public double doubleValue()

Return Value: The method returns a double value which represents double value for this BigInteger.

Examples:

Input: BigInteger1=32145
Output: 32145.0
Explanation: BigInteger1.doubleValue()=32145.0.

Input: BigInteger1=32145535361361525377
Output: 3.2145535E19
Explanation: BigInteger1.doubleValue()=3.2145535E19. This BigInteger is too big for 
a magnitude to represent as a double then it will be converted to Double.NEGATIVE_INFINITY 
or Double.POSITIVE_INFINITY as appropriate.

Below programs illustrate doubleValue() method of BigInteger class:



Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate doubleValue() method of BigInteger
  
import java.math.BigInteger;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Creating 2 BigInteger objects
        BigInteger b1, b2;
  
        b1 = new BigInteger("32145");
        b2 = new BigInteger("7613721");
  
        // apply doubleValue() method
        double doubleValueOfb1 = b1.doubleValue();
        double doubleValueOfb2 = b2.doubleValue();
  
        // print doubleValue
        System.out.println("doubleValue of " + b1 + " : " + doubleValueOfb1);
        System.out.println("doubleValue of " + b2 + " : " + doubleValueOfb2);
    }
}

chevron_right


Output:

doubleValue of 32145 : 32145.0
doubleValue of 7613721 : 7613721.0

Example 2: When returned double value is too big for a magnitude to represent as a double.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to demonstrate doubleValue() method of BigInteger
  
import java.math.BigInteger;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Creating 2 BigInteger objects
        BigInteger b1, b2;
  
        b1 = new BigInteger("32145535361361525377");
        b2 = new BigInteger("7613721535372632367351");
  
        // apply doubleValue() method
        double doubleValueOfb1 = b1.doubleValue();
        double doubleValueOfb2 = b2.doubleValue();
  
        // print doubleValue
        System.out.println("doubleValue of " + b1 + " : " + doubleValueOfb1);
        System.out.println("doubleValue of " + b2 + " : " + doubleValueOfb2);
    }
}

chevron_right


Output:

doubleValue of 32145535361361525377 : 3.2145535361361527E19
doubleValue of 7613721535372632367351 : 7.613721535372632E21

Reference: https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#doubleValue()

Attention reader! Don’t stop learning now. Get hold of all the important Java and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.