加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 高效的BigDecimal向上和向下舍入两位小数

发布时间:2020-12-14 16:31:26 所属栏目:Java 来源:网络整理
导读:在 java中,我试图找到一个有效的方法来根据条件将BigDecimal转换为两位小数,Up或Down. IF condition true then: 12.390 --- 12.39 12.391 --- 12.40 12.395 --- 12.40 12.399 --- 12.40 If condition false then: 12.390 --- 12.39 12.391 --- 12.39 12.395
在 java中,我试图找到一个有效的方法来根据条件将BigDecimal转换为两位小数,Up或Down.
IF condition true then:
    12.390 ---> 12.39
    12.391 ---> 12.40
    12.395 ---> 12.40
    12.399 ---> 12.40

 If condition false then:
    12.390 ---> 12.39
    12.391 ---> 12.39
    12.395 ---> 12.39
    12.399 ---> 12.39

什么是最有效的方式来完成这个?

解决方法

public static BigDecimal round(BigDecimal d,int scale,boolean roundUp) {
  int mode = (roundUp) ? BigDecimal.ROUND_UP : BigDecimal.ROUND_DOWN;
  return d.setScale(scale,mode);
}
round(new BigDecimal("12.390"),2,true); // => 12.39
round(new BigDecimal("12.391"),true); // => 12.40
round(new BigDecimal("12.391"),false); // => 12.39
round(new BigDecimal("12.399"),false); // => 12.39

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读