JAVA中BigDecimal详解
  1A7r4m76aU2o 2023年11月02日 59 0

一、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();
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  3I1N9ysrcSyk   2023年12月08日   11   0   0 javahapi数据交换
  DF5J4hb0hcmT   2023年12月07日   30   0   0 javaArthas
1A7r4m76aU2o