java常用类(大数字处理类bigInteger和bigDecimal)-小白学习中

bigInteger和bigDecimal

当一个数字非常大的时候,是无法使用基本数据类型的。bigInteger(整数)和bigDecimal(浮点数)就是用于解决这一类问题的操作类。

package JIAQI.JQ1_7;

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

public class Demo05 {//大数字处理
    public static void main(String[] args) {
//        构造方法
        BigInteger bigInteger=new BigInteger("12346516567");
        //将一个字符串转换为BigInteger类型
        BigInteger bigInteger1=new BigInteger("123213");
        BigDecimal bigDecimal=new BigDecimal(45.123);
        //将一个Double类型的转换为BigDecimal类型
        BigDecimal bigDecimal1=new BigDecimal(987431);
        //将一个int类型的转换为BigDecimal类型
        BigDecimal bigDecimal2=new BigDecimal("12411321313");
        //将一个String类型的转换为BigDecimal类型
//        加法
        System.out.println(bigInteger.add(bigInteger1));
        System.out.println(bigDecimal.add(bigDecimal1));
//        减法
        System.out.println(bigInteger.subtract(bigInteger1));
        System.out.println(bigDecimal.subtract(bigDecimal1));
//        乘法
        System.out.println(bigInteger.multiply(bigInteger1));
        System.out.println(bigDecimal.multiply(bigDecimal1));
//        除法
        System.out.println(bigInteger.divide(bigInteger1));
        BigInteger[] bigIntegers=bigInteger.divideAndRemainder(bigInteger1);
        //得到数组的第一个数为商,第二个数为余数
        //由于bigDecimal的divide会出现无限的小数,故需要设置保留小数的位数
        System.out.println(bigDecimal.divide(bigDecimal1,2, RoundingMode.UP));
        //保留两位小数,进位模式为向上进位
//        最大值和最小值
        System.out.println(bigInteger.max(bigInteger1));
        System.out.println(bigDecimal.max(bigDecimal1)+"asd");
        System.out.println(bigInteger.min(bigInteger1));
        System.out.println(bigDecimal.min(bigDecimal1));
//        转换方法
        int a=bigInteger.intValue();//转换为int型
        double a1=bigInteger1.doubleValue();//转换为double型
        float a2=bigInteger.floatValue();//转换为float型
        long a3=bigInteger.longValue();//转换为long型
        String a4=bigInteger.toString();//转换为String型
        int b=bigDecimal.intValue();//转换为int型
        double b1=bigDecimal.doubleValue();//转换为double型
        float b2=bigDecimal.floatValue();//转换为float型
        long b3=bigDecimal.longValue();//转换为long型
        String b4=bigDecimal.toString();//转换为String型
    }
}

你可能感兴趣的:(java学习中)