BigInteger doubleValue() Method in Java - GeeksforGeeks

04 Dec, 2018
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:
// 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);    }}
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.
// 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);    }}
doubleValue of 32145535361361525377 : 3.2145535361361527E19
doubleValue of 7613721535372632367351 : 7.613721535372632E21

Reference: https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#doubleValue()
java-basics
Java-BigInteger
Java-Functions
java-math
Java-math-package
Java
Java-BigInteger
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Stream In Java
Different ways of Reading a text file in Java
Constructors in Java
Exceptions in Java
Functional Interfaces in Java
Generics in Java
Comparator Interface in Java with Examples
HashMap get() Method in Java
Introduction to Java
Difference between Abstract Class and Interface in Java