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
        }
    }
  • 相关阅读:
    系统升级到9.10感觉很不错
    mysql数据库文件坏掉后通过二进值日志恢复
    关于杨宪益传
    Linux下设置屏幕亮度
    XFCE升级到4.10
    在Linux下编译安装php
    Ubuntu unity安装IndicatorMultiload
    解析Visual Studio Unit Test Result文件(trx文件)
    Linux下安装wordpress3.4
    XFCE字体发虚的解决方法
  • 原文地址:https://www.cnblogs.com/zhangmingda/p/14627741.html
Copyright © 2011-2022 走看看