Java BigInteger doubleValue()方法

Java BigInteger doubleValue()方法

java.math.BigInteger.doubleValue() 将这个BigInteger转换为一个双倍值。如果该函数返回的值过大,无法以双倍数表示,那么它将被转换为Double.NEGATIVE_INFINITY或Double.POSITIVE_INFINITY,视情况而定。这种转换有可能会丢失关于BigInteger值的精度信息。

语法

public double doubleValue()

返回值: 该方法返回一个双倍值,代表这个BigInteger的双倍值。

例子

输入: BigInteger1=32145
输出: 32145.0
解释: BigInteger1.doubleValue()=32145.0.

输入: BigInteger1=32145535361361525377
输出: 3.2145535E19
解释: BigInteger1.doubleValue()=3.2145535E19. 这个BigInteger太大
的大小,那么它将被转换为Double.NEGATIVE_INFINITY
或Double.POSITIVE_INFINITY,视情况而定。

下面的程序说明了BigInteger类的doubleValue()方法。

例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

例子2: 当返回的双倍值过大,无法用倍数表示时。

// 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

**参考资料: **https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#doubleValue()

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程