package com.an.math;
import java.math.BigDecimal;
import java.math.BigInteger;
import org.junit.Test;
public class TestMath {
@Test
public void testtestBigDecimal(){
BigDecimal a = new BigDecimal("2.234567891011121345123456");
BigDecimal b = new BigDecimal("1.234567890123456789123456");
//小数的加减乘除
BigDecimal add = a.add(b);
BigDecimal sub = a.subtract(b);
BigDecimal mul = a.multiply(b);
BigDecimal div = a.divide(b,BigDecimal.ROUND_UP);//向上取整
BigDecimal div1 = a.divide(b,BigDecimal.ROUND_CEILING);//向上取整
BigDecimal div2 = a.divide(b,2,BigDecimal.ROUND_FLOOR);//向下取整,并保留两位小数
System.out.println(add);//3.469135781134578134246912
System.out.println(sub);//1.000000000887664556000000
System.out.println(mul);//2.758725766543222622485632681538811683126345383936
System.out.println(div); //1.810000008009008363097176
System.out.println(div1);//1.810000008009008363097176
System.out.println(div2); //1.81
}
@Test
public void testBigInteger(){
BigInteger num1 = new BigInteger("923456789012345678912345");
BigInteger num2 = new BigInteger("123456789012345678912345");
//整数数的加减乘除
BigInteger sum = num1.add(num2);//1046913578024691357824690
BigInteger sub = num1.subtract(num2);//800000000000000000000000
BigInteger mul = num1.multiply(num2);//114007009963115379883114668108216720022193399025
BigInteger divide = num1.divide(num2);//商 7
BigInteger rem = num1.remainder(num2);//余数 //59259265925925926525930
BigInteger[] result = num1.divideAndRemainder(num2);
System.out.println(sum);
System.out.println(sub);
System.out.println(mul);
System.out.println(divide);//商
System.out.println(rem);//余数
System.out.println("商:" +result[0] +",余数:" +result[1]);
}
}
Java中大数的相关计算
最新推荐文章于 2023-05-19 16:49:15 发布