Java BigDecimal类 BigInter类简介及代码演示

BigDecimal类
大数据中的大小数
BigInter
大数据中的大整数

备注:如果除不尽程序会报错

package com.BigData;

import java.math.BigDecimal;
import java.math.BigInteger;

// 定义大数据中的大整数和大小数
public class BigDataDemo {
    public static void main(String[] args) {
        // BigInter BigDecimal
        // 大数据整数的加.减.乘.除
        // 21位超过long类型
        BigInteger bigInteger1 = new BigInteger("123123123123123123123");
        BigInteger bigInteger2 = new BigInteger("100000000000000000000");
        // 相加运算
        BigInteger result = bigInteger1.add(bigInteger2);
        System.out.println("两个大数之间相加的结果:"+result);
        //223123123123123123123

        // 减
        BigInteger result2 = bigInteger1.subtract(bigInteger2);
        System.out.println("两个大数之间相减的结果:"+result2);

        // 乘
        BigInteger result3 = bigInteger1.multiply(bigInteger2);
        System.out.println("两个大数之间相乘的结果:"+result3);

        // 除
        BigInteger result4 = bigInteger1.divide(bigInteger2);
        System.out.println("两个大数之间相除的结果:"+result4);



        // BigDecimal类  大 小数
        // 有些时候操作的时候,会出现精度损失问题
        System.out.println("0.09+0.01的值是:"+(0.09+0.01));
        // 期望值0.1    实际值:0.09999999999999999
        System.out.println("1.231* 100的值是:"+(1.231* 100));
        // 期望值123.1  实际值:123.10000000000001

        BigDecimal BD1 = new BigDecimal("0.09");
        BigDecimal BD2 = new BigDecimal("0.01");

        // 加
        BigDecimal result001 = BD1.add(BD2);
        System.out.println("两个大小数之间相加:"+result001);
        // 0.1

        // 减
        BigDecimal result002 = BD1.subtract(BD2);
        System.out.println("两个大小数之间相减:"+result002);
        // 0.08

        // 乘
        BigDecimal result003 = BD1.multiply(BD2);
        System.out.println("两个大小数之间相乘:"+result003);
        // 0.0009

        // 除
        BigDecimal result004 = BD1.divide(BD2);
        System.out.println("两个大小数之间相除:"+result004);
        // 9

    }
}

你可能感兴趣的:(java)