1.整型大数类(BigInteger):
//构造:BigInteger(String val) 将 BigInteger的十进制字符串表示形式转换为 BigInteger
//对象.toString(int radix) 返回此 BigInteger 的给定基数的字符串表示形式
//对象.pow(int exponent) 返回其值为 (thisexponent) 的 BigInteger
//除此还有max,min,mod,gcd最大公约数,add,subtract,mutiply,divide等
import java.math.BigInteger;
//BigInteger类
public class BigIntegerDemo {
public static void main(String[] args) {
BigInteger bi1 = new BigInteger("987654321");//构造方法,将字符串转换为BigInteger类
BigInteger bi2 = new BigInteger("123456789");
System.out.println("加法:" + bi1.add(bi2));//调用add()方法
System.out.println("减法:" + bi1.subtract(bi2));
System.out.println("乘法:" + bi1.multiply(bi2));
System.out.println("除法:" + bi1.divide(bi2));
System.out.println("取余:" + bi1.mod(bi2));
//public BigInteger[] divideAndRemainder(BigInteger val)返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组
BigInteger div[] = bi1.divideAndRemainder(bi2);
System.out.println("商余除法:商:" + div[0] + ",余:" + div[1]);
System.out.println("bi1的5次方为:" + bi1.pow(5));
}
}
1.浮点型大数类(BigDecimal):
//构造:
//BigDecimal(BigInteger val) 将 BigInteger 转换为 BigDecimal。
//BigDecimal(String val) 将 BigDecimal 的字符串表示形式转换为 BigDecimal,还可以int double long
//方法:
//对象.toString()返回此 BigDecimal 的字符串表示形式,如果需要指数,则使用科学记数法
//对象.toPlainString() 返回不带指数字段的此 BigDecimal 的字符串表示形式。
//对象.stripTrailingZeros() 返回数值上等于此小数,但从该表示形式移除所有尾部零的 BigDecimal。
//对象.BigDecimal add(BigDecimal augend) 返回一个 BigDecimal,其值为 (this + augend),其标度(精度)为 max(this.scale(), augend.scale())。
import java.math.BigDecimal;
public class BigDecimalDemo {
public static void main(String[] args) {
BigDecimal bi1 = new BigDecimal(2345.6789);//将double类型转换为BigDecimal类型
BigDecimal bi2 = new BigDecimal(98765.4321);
System.out.println("BigDecimal类型转换为double类型:" + bi1.doubleValue());//将BigDecimal类型转换为double类型
System.out.println("加法:" + bi1.add(bi2).doubleValue());//add()方法返回值类型是BigDecimal类型需要转换为double
System.out.println("减法:" + bi1.subtract(bi2).doubleValue());
System.out.println("乘法:" + bi1.multiply(bi2).doubleValue());
//divide(对象,保留的位数,四舍五入的常量) 除法方法的应用
System.out.println("BigDecimal.ROUND_HALF_UP=" + BigDecimal.ROUND_HALF_UP);
System.out.println("除法:" + bi2.divide(bi1,BigDecimal.ROUND_HALF_UP).doubleValue());//未四舍五入
System.out.println("除法:" + bi2.divide(bi1,3,BigDecimal.ROUND_HALF_UP).doubleValue());//保留三位小数
BigDecimal bi3 = new BigDecimal("12345.6789");//将String类型转换为BigDecimal类型
BigDecimal bi4 = new BigDecimal("98765.4321111");
System.out.println("加法:" + bi3.add(bi4).doubleValue());//add()方法返回值类型是BigDecimal类型需要转换为double
System.out.println("除法:" + bi4.divide(bi3,BigDecimal.ROUND_HALF_UP).toEngineeringString());
System.out.println("BigDecimal类型转换为EngineeringString类型:" + bi3.toEngineeringString());
}
}
更多构造及方法请点此处查找:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh