Java.math.BigInteger.doubleValue() 方法

描述

java.math.BigInteger.doubleValue() 将此 BigInteger 转换为 double。 这种转换类似于从 double 到 float 的窄化原始转换。

如果这个 BigInteger 的量级太大而无法表示为双精度数,它将酌情转换为 Double.NEGATIVE_INFINITY 或 Double.POSITIVE_INFINITY。 即使返回值是有限的,这种转换也会丢失有关 BigInteger 值精度的信息。


声明

以下是 java.math.BigInteger.doubleValue() 方法的声明。

public double doubleValue()

指定者

Number 中的 doubleValue。


参数

NA


返回值

此方法返回这个转换为双精度的 BigInteger。


异常

NA


示例

下面的例子展示了 math.BigInteger.doubleValue() 方法的使用。

package com.tutorialspoint;

import java.math.*;

public class BigIntegerDemo {

   public static void main(String[] args) {

      // create 2 BigInteger objects
      BigInteger bi1, bi2;

      // create 2 Double objects
      Double d1, d2;

      // assign value to bi1
      bi1 = new BigInteger("123");

      // assign a larger value to bi2
      bi2 = new BigInteger("12345678");

      // assign double value of bi1, bi2 to d1, d2
      d1 = bi1.doubleValue();
      d2 = bi2.doubleValue();

      String str1 = "Double value of " + bi1 + " is " +d1;
      String str2 = "Double value of " + bi2 + " is " +d2;

      // print d1, d2 values
      System.out.println( str1 );
      System.out.println( str2 );
   }
}

让我们编译并运行上面的程序,这将产生下面的结果 −

Double value of 123 is 123.0
Double value of 12345678 is 1.2345678E7