Java BigDecimal doubleValue()方法
java.math.BigDecimal.doubleValue() 是一个内置的函数,可以将BigDecimal对象转换为双数。如果BigDecimal的量级太大,无法用双倍数表示,该函数会根据情况将其转换为Double.NEGATIVE_INFINITY或Double.POSITIVE_INFINITY,或者根据传递的对象进行转换。
注意: 即使返回值是有限的,关于给定BigDecimal值的Double值的小数精度信息也会丢失。
语法
public double doubleValue()
参数: 该方法不接受任何参数。
返回值: 该方法返回该BigDecimal对象的双倍值。
例子
Input : 11234
Output : 11234.0
Input : 2679.30000
Output : 2679.3
以下程序说明了byteValueExact()函数的使用:
程序1 :
// Java program to demonstrate doubleValue() method
import java.io.*;
import java.math.*;
public class GFG {
public static void main(String[] args)
{
// Creating a BigDecimal object
BigDecimal big;
// Creating a Double object
Double dob;
big = new BigDecimal("4743");
// Assigning the converted value of bg to d
dob = big.doubleValue();
// Printing the corresponding double value
System.out.println("Double value of " + big + " is " + dob);
}
}
输出。
Double value of 4743 is 4743.0
程序2
// Java program to demonstrate doubleValue() method
import java.io.*;
import java.math.*;
public class GFG {
public static void main(String[] args)
{
// Creating a BigDecimal object
BigDecimal big;
// Creating a Double object
Double dob;
big = new BigDecimal("6714592679.34008");
// Assigning the converted value of bg to d
dob = big.doubleValue();
// Printing the corresponding double value
System.out.println("Double value of " + big + " is " + dob);
}
}
输出。
Double value of 6714592679.34008 is 6.71459267934008E9
**参考资料: **https: //docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#doubleValue()