double 转 BigDecimal
时间: 2023-11-28 10:45:01 浏览: 32
您可以使用BigDecimal类的valueOf()方法和doubleValue()方法将double类型转换为BigDecimal类型。以下是一些示例代码:
```java
double d = 123.456;
BigDecimal bd1 = BigDecimal.valueOf(d);
BigDecimal bd2 = new BigDecimal(String.valueOf(d));```
请注意,如果您使用Double.toString()或String.valueOf()方法将double值转换为字符串,然后使用该字符串创建新的BigDecimal对象,则可能会出现精度问题。因此,建议使用BigDecimal.valueOf()方法或BigDecimal(String)构造函数进行转换。
相关问题
double转bigdecimal
可以使用BigDecimal类的构造函数将double类型转换为BigDecimal类型。例如:
```java
double d = 3.1415926;
BigDecimal bd = new BigDecimal(d);
```
需要注意的是,使用double类型转换为BigDecimal类型时,可能会出现精度丢失的问题。因此,建议使用BigDecimal类提供的字符串构造函数将double类型转换为BigDecimal类型,以避免精度丢失。例如:
```java
double d = 3.1415926;
String str = Double.toString(d);
BigDecimal bd = new BigDecimal(str);
```
或者使用BigDecimal类的静态方法valueOf也可以将double类型转换为BigDecimal类型,例如:
```java
double d = 3.1415926;
BigDecimal bd = BigDecimal.valueOf(d);
```
double转BigDecimal
可以使用BigDecimal类的构造函数将double类型转换为BigDecimal类型。例如:
```java
double d = 3.1415926;
BigDecimal bd = new BigDecimal(d);
```
需要注意的是,使用double类型转换为BigDecimal类型时,可能会出现精度丢失的问题。因此,建议使用BigDecimal类提供的字符串构造函数将double类型转换为BigDecimal类型,以避免精度丢失。例如:
```java
double d = 3.1415926;
String str = Double.toString(d);
BigDecimal bd = new BigDecimal(str);
```
或者使用BigDecimal类的静态方法valueOf也可以将double类型转换为BigDecimal类型,例如:
```java
double d = 3.1415926;
BigDecimal bd = BigDecimal.valueOf(d);
```