Java——Math

BigInteger与BigDecimal

  /**
     * 处理高精度有小数
     */
    static void dec() {
        //构造,建议使用String值
        BigDecimal b1 = new BigDecimal("5.5");
        BigDecimal b2 = new BigDecimal("3.3");

        //加
        BigDecimal b = b1.add(b2);

        //减
        b1.subtract(b2);

        //乘
        b1.multiply(b2);

        //除
        // 除法有三个参数,第二个是精度,即保留的小数位数;第三个时舍入模式。值从0-7,可用静态变量名代替
        //   5.5/3.3=1.666666666...
        // 0---ROUND_UP---始终增加1---1.67
        // 1---ROUND_DOWN---相当于截断---1.666
        // 2---ROUND_CEILING---如果为正,始终增加1;如果为负,则截断---1.667
        // 3---ROUND_FLOOR---如果为正,则截断;如果为负,始终增加1--1.666
        // 4---ROUND_HALF_UP---四舍五入---1.667
        // 5---ROUND_HALF_DOWN---五舍六入---1.667
        // 6---ROUND_HALF_EVEN---如果前一位为奇数则四舍五入,如果为偶数则五舍六入---1.667
        // 7---ROUND_UNNECESSARY---断言请求的操作具有精确的结果,因此不需要舍入,如果对获得精确结果的操作指定此舍入模式---抛出ArithmeticException
        b1.divide(b2, 3, 3);

        //求余,用在BigInteger
        //b1.remainder(b2);

        //其他运算
        b1.abs();//绝对值
        b1.negate();//相反数

        b1.pow(2);//指数运算
        b1.movePointLeft(1);//小数点向左移动一位,右移是right

        //比较
        b1.max(b2);//返回值大的,min返回值小的
        b1.compareTo(b2);//大于返回1,小于返回-1,相等是0

        //转化
        b1.toBigInteger();//
        b1.toString();
        b1.doubleValue();
        b1.longValue();

    }

    /**
     * 大整型BigInteger,基本类似
     */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值