BigDecimal除法,并保留小数后两位

抛出问题
overtimeHour = new BigDecimal(overTimeMinute).divide(new BigDecimal(60), 2, BigDecimal.ROUND_FLOOR).doubleValue();

此处涉及2点:1、BigDecimal除法  2、BigDecimal四舍五入
内容
2885354-1e4a71bb536e9043.png
1.png

BigDecimal.setScale()方法用于格式化小数点
setScale(1)表示保留一位小数,默认用四舍五入方式
setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3
setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4
setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4
setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入,2.35变成2.3,如果是5则向下舍
setScaler(1,BigDecimal.ROUND_CEILING)接近正无穷大的舍入
setScaler(1,BigDecimal.ROUND_FLOOR)接近负无穷大的舍入,数字>0和ROUND_UP作用一样,数字<0和ROUND_DOWN作用一样
setScaler(1,BigDecimal.ROUND_HALF_EVEN)向最接近的数字舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。

以上内容链接地址:
https://blog.csdn.net/oChangWen/article/details/51531866


结尾补充

java doc 地址:
https://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#ROUND_HALF_EVEN

java保留两位小数5种方法 地址:https://blog.csdn.net/zzq900503/article/details/36898963

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用BigDecimal进行除法运算时,可以通过设置setScale方法来保留指定的小数位数。例如,假设我们有两个BigDecimal对象num1和num2,我们想要将num2除以num1并保留两位小数,可以使用以下代码: BigDecimal result = num2.divide(num1, 2, BigDecimal.ROUND_HALF_UP); 在这个例子中,setScale方法的第一个参数是要保留小数位数,这里是2。第二个参数是舍入模式,这里使用了ROUND_HALF_UP,表示四舍五入。最后,将结果赋值给result变量。 引用\[1\]中的代码示例展示了如何使用BigDecimal的divide方法进行除法运算,并指定小数位数和舍入模式。引用\[2\]中的内容提供了关于舍入模式的详细解释。 所以,如果你想要使用BigDecimal进行除法运算并保留两位小数,可以使用上述代码。 #### 引用[.reference_title] - *1* *2* [java BigDecimal保留两位小数](https://blog.csdn.net/qq_34207422/article/details/128580482)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [BigDecimal除法函数保留小数和四舍五入(转)](https://blog.csdn.net/sinat_34842630/article/details/129585765)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值