zoukankan      html  css  js  c++  java
  • java 常用类库:BigInteger大整数;BigDecimal大小数(解决double精度损失);

    大整数BigInteger

    package com.zmd.common_class_libraries;
    
    import java.math.BigInteger;
    
    /**
     * @ClassName BigNumberExample
     * @projectName: object1
     * @author: Zhangmingda
     * @description: XXX
     * date: 2021/4/7.
     */
    public class BigNumberExample {
        public static void main(String[] args) {
            BigInteger a = new BigInteger("999999999999999999999999999999999999999999");
            BigInteger b = new BigInteger("888888888888888888888888888888888888888888");
            //加法
            System.out.println(a.add(b));
            //减法
            System.out.println(a.subtract(b));
            //乘法
            System.out.println(a.multiply(b));
            //除法
            System.out.println(a.divide(b));
        }
    }

    长小数BigDecimal

    package com.zmd.common_class_libraries;
    
    import java.math.BigDecimal;
    import java.math.BigInteger;
    
            BigDecimal a = new BigDecimal("999999999999999999999999999999999999999999.999999999999999999999999999999999999999999");
            BigDecimal b = new BigDecimal("888888888888888888888888888888888888888888.888888888888888888888888888888888888888888");
            //加法
            System.out.println(a.add(b));
            //减法
            System.out.println(a.subtract(b));
            //乘法
            System.out.println(a.multiply(b));
            //除法
            System.out.println(a.divide(b));
        }
    }

     double 精度损失

    package com.zmd.common_class_libraries;
    
            import java.math.BigDecimal;
            import java.math.BigInteger;
    
    /**
     * @ClassName BigNumberExample
     * @projectName: object1
     * @author: Zhangmingda
     * @description: XXX
     * date: 2021/4/7.
     */
    public class BigNumberExample {
        public static void main(String[] args) {
            //double精度损失
            double da = 0.05;
            double db = 0.01;
            System.out.println(da + db);
            //等于0.060000000000000005
    
            //BigDecimal可以解决此问题
            BigDecimal ba = new BigDecimal("0.05");
            BigDecimal bb = new BigDecimal("0.01");
            System.out.println(ba.add(bb));
            //0.06
        }
    }
  • 相关阅读:
    JavaScript操作服务器控件之Gridview控件
    GridView_RowDataBound 常用方法
    GridView ,后台修改 跟新完毕,前端 未跟新处理
    怎么判断DropDownList是否选择值
    GridView.SelectedIndex
    DropDownlist数据SelectedIndexChanged触发问题解决
    error:将字符串转换为 uniqueidentifier 时失败
    UniqueIdentifier 数据类型
    在Sql2005中,向表中插入数据时遇到uniqueidentifier列,如何插入数据?
    mysql给id生成uuid
  • 原文地址:https://www.cnblogs.com/zhangmingda/p/14627741.html
Copyright © 2011-2022 走看看