我是靠谱客的博主 现实身影,最近开发中收集的这篇文章主要介绍Bigdecimal保留小数位,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这里Bigdecimal保留小数主要用到的方法是:
BigDecimal a = a=new BigDecimal("180.055555456456465");
BigDecimal setScale = a.setScale(int newScale, int roundingMode)
其中setScale()方法中,关于小数点,JDK给出了以下的常量参数:
     #ROUND_UP
     #ROUND_DOWN
     #ROUND_CEILING
     #ROUND_FLOOR
     #ROUND_HALF_UP
     #ROUND_HALF_DOWN
     #ROUND_HALF_EVEN
     #ROUND_UNNECESSARY
关于这些常量,下面做进一步的解释:
ROUND_CEILING 
Rounding mode to round towards positive infinity. 
向正无穷方向舍入 

ROUND_DOWN 
Rounding mode to round towards zero. 
向零方向舍入 

ROUND_FLOOR 
Rounding mode to round towards negative infinity. 
向负无穷方向舍入 

ROUND_HALF_DOWN 
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down. 
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向下舍入, 例如1.55 保留一位小数结果为1.5 

ROUND_HALF_EVEN 
Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor. 
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP ,如果是偶数,使用ROUND_HALF_DOWN 


ROUND_HALF_UP 
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up. 
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向上舍入, 1.55保留一位小数结果为1.6 


ROUND_UNNECESSARY 
Rounding mode to assert that the requested operation has an exact result, hence no rounding is necessary. 
计算结果是精确的,不需要舍入模式 


ROUND_UP 
Rounding mode to round away from zero. 
向远离0的方向舍入

最后

以上就是现实身影为你收集整理的Bigdecimal保留小数位的全部内容,希望文章能够帮你解决Bigdecimal保留小数位所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部