您的位置:首页 > 其它

关于BigDecimal运算(比较、加减乘除、取余)总结

2019-04-19 10:42 239 查看

BigDecimal运算

  • 2.5、BigDecimal 处理小数
  • 3、取余
  • 1、比较

    BigDecimal可以通过compareTo方法来进行比较。
    返回的结果是int类型,-1表示小于,0是等于,1是大于。
    例如:

    BigDecimal a = new BigDecimal(3);
    BigDecimal b = new BigDecimal(2);
    if ( a.compareTo(b) == 1 ) {
    //等同于a>b
    }

    2、四则运算

    2.1、加法 add
    a = a.add(b);
    2.2、减法 subtract
    a = a.subtract(b);
    2.3、乘法 multiply
    a = a.multiply(b);
    2.4、除法 divide
    a = a.divide(b);
    • 注意: BigDecimal使用方法自身不会改变,结果需要接收 !( 不可直接写
      a.add(b)
      )

    2.5、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)
    四舍五入(5则向上入),2.35变成2.4

    setScaler(1,BigDecimal.ROUND_HALF_DOWN)
    四舍五入(5则向下舍),2.35变成2.3

    3、取余

    divideAndRemainder( BigDecimal divisor )

    BigDecimal[] c = a.divideAndRemainder(b);

    返回一个BigDecimal数组,返回数组中包含两个元素,第一个元素为两数相除的商,第二个元素为余数。
    例如:

    BigDecimal d = c[0].add( new BigDecimal(1));
    BigDecimal e = c[1].compareTo( new BigDecimal(0) ) == 0 ? c[0] : d ;
    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: