Java——Math

来源:互联网 发布:淘宝假冒品牌 自动退款 编辑:程序博客网 时间:2024/05/25 18:09

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,基本类似     */
原创粉丝点击