大数操作

大整数操作类:BigInteger

import java.math.BigInteger;

/**   
 * @Title: BigIntergerDemo.java 
 * @Package  
 * @Description: TODO
 * @author sotaof
 * @date 2012-7-20 下午11:10:50 
 * @version V1.0   
 */
public class BigIntergerDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		BigInteger bi1 = new BigInteger(Long.MAX_VALUE + "");
		BigInteger bi2 = new BigInteger(Long.MAX_VALUE + "");
		System.out.println("加法:" + bi1.add(bi2));
		System.out.println("减法:" + bi1.subtract(bi2)); 
		System.out.println("乘法:" + bi1.multiply(bi2)); 
		System.out.println("除法:" + bi1.multiply(new BigInteger("333"))); 
		BigInteger res[] = bi1.divideAndRemainder(new BigInteger("333")) ; 
		System.out.println("整数部分:" + res[0]) ; 
		System.out.println("小数部分:" + res[1]) ; 
	}

}

大小数操作类:BigDecimal


package cn.veryedu.zwx.math;

import java.math.BigDecimal;

public class TestBigDecimal {

	public static void main(String[] args) {
		double a = 1987;
		
		double b = a * 0.7;

		System.out.println("b = " + b);
		
		BigDecimal sal = new BigDecimal("1987");
		
		BigDecimal t = new BigDecimal("0.7");
		
		BigDecimal result = sal.multiply(t);
		
		System.out.println("result = " + result.doubleValue());
	}

}
对于BigDecimal本身和BigInteger是非常类似的,包括各个计算方法也都是非常类似的,但,在BigDecimal类中存在着一种除法操作,这种除法操作可以指定小数的保留位数:public BigDecimal divide(BigDecimal divisor,int scale,int roundingMode)

你可能感兴趣的:(大数操作)