一、BigDecimal比较大小
二、加减乘除运算
BigDecimal one = new BigDecimal("0.123");
BigDecimal two = new BigDecimal("1.23");
1、加法:add
//加法运算
BigDecimal three = one.add(two);
2、减法:subtract
//减法运算
BigDecimal four = two.subtract(one);
3、乘法:multiply
//乘法运算(保留两位小数)
BigDecimal five = one.multiply(two).setScale(2,BigDecimal.ROUND_DOWN);
保留小数位:
ROUND_DOWN --> 直接删除多余的小数位 ,(这种方式得到的绝对值不会比原数大)
ROUND_UP --> 在最后一位直接加1
ROUND_CEILING --> 正数时与ROUND_UP一致,负数时与ROUND_DOWN一致
ROUND_FLOOR --> 正数时与Round_DOWN一致,负数时与ROUND_UP一致
ROUND_HALF_UP --> 四舍五入
ROUND_HALF_DOWN --> 五舍六入
ROUND_HALE_EVEN --> 四舍六入五看奇进偶不进(四舍六入五成双)
4、除法:divide
//除法运算(保留两位小数)
BigDecimal six = two.divide(one,2);
三、类型转换
1、String转为BigDecimal、BigDecimal转String
String str = "1.23";
BigDecimal num = new BigDecimal(str);
String numToStr = num.toString();
2、int转BigDecimal、BigDecimal转int
int a = 1;
BigDecimal numTwo = new BigDecimal(a);
int numTwoToInt = numTwo.intValue();
3、Double转BigDecimal、BigDecimal转Double
Double d = 99.96;
BigDecimal numThree = BigDecimal.valueOf(d);
Double numThreeToDouble = numThree.doubleValue();
标签:JAVA,BigDecimal,--,two,DOWN,详解,new,ROUND
From: https://blog.51cto.com/u_16291619/7872641