Contents
13.4. 大数值¶
13.4.1. BigInteger¶
java.math.BigInteger是不可变的任意精度的大整数。
代码示例
package com.a51work6;
import java.math.BigInteger;
public class HelloWorld {
public static void main(String[] args) {
//创建BigInteger,字符串表示10进制数值
BigInteger number1 = new BigInteger("999999999999");
//创建BigInteger,字符串表示16进制数值
BigInteger number2 = new BigInteger("567800000", 16);
// 加法操作
System.out.println("加法操作:" + number1.add(number2));
// 减法操作
System.out.println("减法操作:" + number1.subtract(number2));
// 乘法操作
System.out.println("乘法操作:" + number1.multiply(number2));
// 除法操作
System.out.println("除法操作:" + number1.divide(number2));
}
}
/*
加法操作:1023211278335
减法操作:976788721663
乘法操作:23211278335976788721664
除法操作:43
*/
13.4.2. BigDecimal¶
java.math.BigDecimal是不可变的任意精度的有符号十进制数。
代码示例
package com.a51work6;
import java.math.BigDecimal;
public class HelloWord1 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
// 创建BigDecimal,通过字符参数串创建
BigDecimal number1 = new BigDecimal("999999999.99988888");
// 创建BigDecimal,通过double参数创建
BigDecimal number2 = new BigDecimal(567800000.888888);
// 加法操作
System.out.println("加法操作:" + number1.add(number2));
// 减法操作
System.out.println("减法操作:" + number1.subtract(number2));
// 乘法操作
System.out.println("乘法操作:" + number1.multiply(number2));
// 除法操作
System.out.println("除法操作:" + number1.divide(number2, BigDecimal.ROUND_HALF_UP));
}
}
/*
减法操作:432199999.11100087855804443359375
乘法操作:567800000888824907.5058567931715297698974609375000
除法操作:1.76118351
*/