Java10-BigDecimal使用(位数、舍入、计算、比较、绝对值)

1、保留位数与舍入

1、BigDecimal.setScale(newScale, roundingMode)方法用于格式化小数点

newScale表示保留位数,roundingMode表示舍入模式,舍入模式一共有8种,其值分别从0到7。

ROUND_UP0;        // 向上舍入,远离零方向舍入
ROUND_DOWN1;        // 向下舍入,向零方向舍入
ROUND_CEILING2;        // 向正无限大方向舍入
ROUND_FLOOR3;        // 向负无限大方向舍入
ROUND_HALF_UP4;        // 四舍五入:向最接近的数字方向舍入,如果与两个相邻数字的距离相等,则向上舍入
ROUND_HALF_DOWN5;        // 五舍四入:向最接近的数字方向舍入,如果与两个相邻数字的距离相等,则向下舍入
ROUND_HALF_EVEN6;        // 向最接近数字方向舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入
ROUND_UNNECESSARY7;        // 用于断言请求的操作具有精确结果,因此不发生舍入

roundingMode参数在书写过程中可以用左边的写法,也可以用右边值代替。

举例:

public static void main(String[] args) throws ParseException {
   
   
    BigDecimal data = new BigDecimal("2.346");
    BigDecimal data1 = data.setScale(2,4); // 四舍五入
    BigDecimal data2 = data.setScale<
Java中,如果要对BigDecimal进行四舍五入的操作,可以使用divide方法来实现。该方法有三个参数:除数divisor,保留小数位数scale和舍入模式roundingMode。其中,scale表示要四舍五入的位数,而roundingMode则指定了具体的舍入规则。 Java中提供了多种舍入模式,常用的包括: 1. ROUND_UP:远离零方向舍入,即向绝对值最大的方向舍入,只要舍弃的位非0即进位。 2. ROUND_DOWN:趋向零方向舍入,即向绝对值最小的方向舍入,所有的位都要舍弃,不存在进位情况。 3. ROUND_CEILING:向正无穷方向舍入,即向正最大方向靠拢。若是正数,舍入行为类似于ROUND_UP,若为负数,舍入行为类似于ROUND_DOWN。 4. ROUND_FLOOR:向负无穷方向舍入,即向负无穷方向靠拢。若是正数,舍入行为类似于ROUND_DOWN;若为负数,舍入行为类似于ROUND_UP。 5. HALF_UP:最近数字舍入(5进),这是最经典的四舍五入。 6. HALF_DOWN:最近数字舍入(5舍),在这里5是要舍弃的。 7. HALF_EVEN:银行家舍入法,这种舍入方式比较特殊,当需要舍弃的位数恰好是5时,会根据前一位的奇偶性来决定舍入的方向。 因此,根据需要选择合适的舍入模式即可实现BigDecimal的四舍五入操作。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* *2* [关于BigDecimal数据的四舍五入](https://blog.youkuaiyun.com/heweimingming/article/details/49820237)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值