Java大数运算
概述
在 Java 中提供了大数字的操作类,即 java.math.BigInteger 类与 java.math.BigDecimal 类。这两个类用于高精度计算,BigInteger 类是针对大整数的处理类,而 BigDecimal 类则是针对大浮点数的处理类。
BigInteger
构造方法
| 1 | public static BigInteger valueOf(long val) { | 
| 1 | public BigInteger(String val, int radix) { | 
| 1 | public BigInteger(String val) { | 
常用方法
- public BigInteger add(BigInteger val):做加法运算
- public BigInteger subtract(BigInteger val):做减法运算
- public BigInteger multiply(BigInteger val): 做乘法运算
- public BigInteger divide(BigInteger val): 做除法运算
- public BigInteger mod(BigInteger m):做求余运算
- public boolean equals(Object x):做数字比较操作(true / false)
- public int compareTo(BigInteger val):做数字比较操作(1 / -1 / 0)
- public BigInteger min(BigInteger val): 返回较小的数值
- public BigInteger max(BigInteger val): 返回较大的数值
示例
| 1 | public class BigIntegerTest { | 
运行结果
| 1 | 加法操作:13 | 
BigDecimal
构造方法
| 1 | public BigDecimal(double val) { | 
| 1 | public BigDecimal(String val) { | 
常用方法
- public BigDecimal add(BigDecimal augend):做加法操作
- public BigDecimal subtract(BigDecimal subtrahend):做减法操作
- public BigDecimal multiply(BigDecimal multiplicand):做乘法操作
- public BigDecimal divide(BigDecimal divisor, int sacle, int roundingMode):做除法操作,方法中 3 个参数分别代表除数、商的小数点后的位数、近似处理模式
示例
| 1 | public class BigDecimalTest { | 
运行结果
| 1 | 加法操作:1.399999999999999966693309261245303787291049957275390625 |