BigDecimal 与 int,long,double之间的互转
转换关系如下:
int 转换成 BigDecimal
/**
* int 转 Bigdecimal
*/
@Test
public void demo04() {
int a = 101;
BigDecimal big = new BigDecimal(a);
System.out.println(big + "的数据类型是: " + big.getClass().getName());
}
答案:101的数据类型是: java.math.BigDecimal
BigDecimal 转 int
/**
* BigDecimal 转 int
*/
@Test
public void demo05() {
BigDecimal big = new BigDecimal(102);
int a = big.intValue() + 1;
System.out.println(a);
}
答案:103
long 转 BigDecimal
/**
* long 转 BigDecimal
*/
@Test
public void demo06() {
long a = 104;
BigDecimal big = new BigDecimal(a);
System.out.println(big + "的数据类型是:" + big.getClass().getName());
}
结果:104的数据类型是:java.math.BigDecimal
BigDecimal 转 Long
/**
* Bigdecimal 转 long
*/
@Test
public void demo07() {
BigDecimal big = new BigDecimal(105);
Long a = big.longValue();
System.out.println(a + "的数据类型是:" + a.getClass().getName());
}
结果:105的数据类型是:java.lang.Long
double 转 BigDecimal
/**
* double 转 BigDecimal
*/
@Test
public void demo08() {
double a = 106.10;
BigDecimal big = new BigDecimal(Double.toString(a));
System.out.println(big + "的数据类型是:" + big.getClass().getName());
}
106.1的数据类型是:java.math.BigDecimal
Bigdecimal 转 double
/**
* Bigdecimal 转 double
*/
@Test
public void demo09() {
BigDecimal big = new BigDecimal(107);
double d = big.doubleValue();
System.out.println(d);
}
结果:107.0