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:

 // 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);     } }

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.

 // 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);     } }

Output:

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

My Personal Notes arrow_drop_up I am a Developer I love to code and bring my ideas alive

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.

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.