10. BigInteger和BigDecimal类
BigInteger 代码示例
package com.baidu.www;
import java.math.BigInteger;
// 大整数
public class BigInteger_ {
public static void main(String[] args) {
// 在编程中,需要处理很大的整数,long不够用时
// 可以使用 BigInteger
BigInteger bi = new BigInteger("2222222222222222222222222222222");
BigInteger bi2 = new BigInteger("222222222");
System.out.println(bi);
System.out.println(bi.add(bi2));
System.out.println(bi.subtract(bi2));
System.out.println(bi.multiply(bi2));
System.out.println(bi.divide(bi2));
}
}
BigDecimal 代码示例
package com.baidu.www;
import java.math.BigDecimal;
public class BigDecimal_ {
public static void main(String[] args) {
// 在编程中,需要处理精度很高的数,double不够用时
// 可以使用 BigDecimal
BigDecimal bd = new BigDecimal("22.22222222222222222222222222222");
BigDecimal bd2 = new BigDecimal("2.22222222");
System.out.println(bd);
System.out.println(bd.add(bd2));
System.out.println(bd.subtract(bd2));
System.out.println(bd.multiply(bd2));
// 可能抛出异常:除不尽. ArithmeticException 无限循环小数
// 指定精度,保留分子的精度
System.out.println(bd.divide(bd2, BigDecimal.ROUND_CEILING));
}
}