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

Decimal相关

发布时间:2020-12-14 05:07:45 所属栏目:大数据 来源:网络整理
导读:一、BigDecimal?精度设置 BigDecimal setScale(int newScale,int roundingMode); newScale:小数位数, RoundingMode是一个枚举类,有以下几个常量: 1、 ROUND_UP : 远离零方向舍入的舍入模式。始终对非零舍弃部分前面的数字加 1。注意,此舍入模式始终不

一、BigDecimal?精度设置

  BigDecimal setScale(int newScale,int roundingMode);

  newScale:小数位数,

  RoundingMode是一个枚举类,有以下几个常量:  

1、ROUND_UP远离零方向舍入的舍入模式。始终对非零舍弃部分前面的数字加 1。注意,此舍入模式始终不会减少计算值的绝对值。
2、ROUND_DOWN向零方向舍入的舍入模式。从不对舍弃部分前面的数字加 1(即截尾)。注意,此舍入模式始终不会增加计算值的绝对值。
3、ROUND_CEILING向正无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于?RoundingMode.UP;如果结果为负,则舍入行为类似于?RoundingMode.DOWN。注意,此舍入模式始终不会减少计算值。
4、ROUND_FLOOR:向负无限大方向舍入的舍入模式。如果结果为正,则舍入行为类似于?RoundingMode.DOWN;如果结果为负,则舍入行为类似于RoundingMode.UP。注意,此舍入模式始终不会增加计算值。
5、ROUND_HALF_UP向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向上舍入。如果被舍弃部分 >= 0.5,则舍入行为同?RoundingMode.UP;否则舍入行为同RoundingMode.DOWN。注意,此舍入模式就是通常学校里讲的四舍五入。
6、ROUND_HALF_DOWN向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向下舍入。如果被舍弃部分 > 0.5,则舍入行为同?RoundingMode.UP;否则舍入行为同RoundingMode.DOWN
7、ROUND_HALF_EVEN向最接近数字方向舍入的舍入模式,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。如果舍弃部分左边的数字为奇数,则舍入行为同RoundingMode.HALF_UP;如果为偶数,则舍入行为同RoundingMode.HALF_DOWN。注意,在重复进行一系列计算时,此舍入模式可以在统计上将累加错误减到最小。此舍入模式也称为“银行家舍入法”,主要在美国使用。此舍入模式类似于 Java 中对float?和double?算法使用的舍入策略。
8、ROUND_UNNECESSARY用于断言请求的操作具有精确结果的舍入模式,因此不需要舍入。如果对生成精确结果的操作指定此舍入模式,则抛出?ArithmeticException

?

二、BigDecimal?计算

1、加法 add()函数
2、减法subtract()函数
3、乘法multiply()函数
4、除法divide()函数
5、绝对值abs()函数

三、BigDecimal?比较大小

int a = bigdemical.compareTo(bigdemical2);a = -1,表示bigdemical小于bigdemical2;a = 0,表示bigdemical等于bigdemical2;a = 1,表示bigdemical大于bigdemical2;

(编辑:李大同)

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

    推荐文章
      热点阅读