类型转换
字符串转换为int
字符串转换为Double
字符串转换为Float
字符串转换为BigDecimal
BigDecimal
创建对象
创建BigDecimal对象时,构造方法入参可以是字符串或double值,前者计算后的精度就是字符串转换后的数据。后者是浮点数,计算后的数值精度具有多个小数位。
尽量采用字符串方式创建对象。
比如下面的例子中计算同样的数据,字符串初始化和数值类型初始化结果不同。
字符串方式:
/**
* 计算1.00+3.21
*/
private void test(){
String str = "3.21";
Double val = Double.valueOf(str);
BigDecimal bigDecimal = new BigDecimal(1.00);
BigDecimal res = bigDecimal.add(new BigDecimal(val));
System.out.println(res);// 4.20999999999999996447286321199499070644378662109375
}
double方式:
/**
* 计算1.00+3.21
*/
private void test(){
String str = "3.21";
Double val = Double.valueOf(str);
BigDecimal bigDecimal = new BigDecimal(1.00);
BigDecimal res = bigDecimal.add(new BigDecimal(str));
System.out.println(res);// 4.21
}
计算
BigDecimal计算,加法 add()、减法subtract()、乘法multiply()、除法divide()、绝对值abs()方法等。