📜  Java.math 类及其方法 |设置 3(1)

📅  最后修改于: 2023-12-03 14:42:21.274000             🧑  作者: Mango

Java.math 类及其方法

Java.math 是 Java 中用于高精度数值计算的类库,它提供了各种各样的算术函数。这些函数都是基于 Big Integer 和 Big Decimal 类实现的。

Big Integer

Big Integer 是 Java 中的整数类型,它可以处理任意大的整数,而不会有数据溢出的问题。下面是一些 Big Integer 常用的方法:

创建 Big Integer
BigInteger bi1 = new BigInteger("123456789");
BigInteger bi2 = new BigInteger("987654321");
计算加减乘除
BigInteger sum = bi1.add(bi2);
BigInteger diff = bi1.subtract(bi2);
BigInteger product = bi1.multiply(bi2);
BigInteger quotient = bi1.divide(bi2);
BigInteger remainder = bi1.remainder(bi2); // 求余数
比较大小
int compareResult = bi1.compareTo(bi2); // 返回 -1, 0, 1,分别表示小于、等于、大于。
boolean isEqual = bi1.equals(bi2); // 判断是否相等
其他操作
BigInteger abs = bi1.abs(); // 取绝对值
BigInteger neg = bi1.negate(); // 取相反数
Big Decimal

Big Decimal 是 Java 中的十进制浮点数类型,它可以处理任意大小和精度的浮点数。下面是一些 Big Decimal 常用的方法:

创建 Big Decimal
BigDecimal bd1 = new BigDecimal("123456789.123456789");
BigDecimal bd2 = new BigDecimal("987654321.987654321");
计算加减乘除
BigDecimal sum = bd1.add(bd2);
BigDecimal diff = bd1.subtract(bd2);
BigDecimal product = bd1.multiply(bd2);
BigDecimal quotient = bd1.divide(bd2, 10, BigDecimal.ROUND_HALF_UP); // 除法需要指定精度和舍入方式
比较大小
int compareResult = bd1.compareTo(bd2); // 返回 -1, 0, 1,分别表示小于、等于、大于。
boolean isEqual = bd1.equals(bd2); // 判断是否相等
其他操作
BigDecimal abs = bd1.abs(); // 取绝对值
BigDecimal neg = bd1.negate(); // 取相反数
BigDecimal sqrt = bd1.sqrt(new MathContext(10)); // 取平方根,需要指定精度

除了上面介绍的方法之外,Java.math 还提供了各种各样的数学函数,例如 sin、cos、tan、log 等等。有关这些函数的详细使用方法,请参考 Java.math 的官方文档。