0
点赞
收藏
分享

微信扫一扫

JAVA中BigDecimal详解

一、BigDecimal比较大小

JAVA中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();

举报

相关推荐

0 条评论