天天看点

BigDecimal使用示例

BigDecimal使用示例

package com.math;

import java.math.BigDecimal;

import org.junit.Test;

/**
 * Float 和 Double 类型的主要设计目标是为了科学计算和工程计算。他们执
行二进制浮点运算,这是为了在广域数值范围上提供较为精确的快速近似计算而
精心设计的。然而,它们没有提供完全精确的结果,所以不应该被用于要求精确
结果的场合。但是,商业计算往往要求结果精确,这时候 BigDecimal 就派上大
 */
public class BigDecimalTest {
	@Test
	public void test2() {
		BigDecimal b1 = new BigDecimal("10.0");
		BigDecimal b2 = new BigDecimal("3.0");
		
		BigDecimal add = b1.add(b2); // 加
		System.out.println(add);
		
		BigDecimal subtract = b1.subtract(b2); // 减
		System.out.println(subtract);
		
		BigDecimal multiply = b1.multiply(b2); // 乘
		System.out.println(multiply);
		
		BigDecimal divide = b1.divide(b2, 60, BigDecimal.ROUND_UP); // 除
		System.out.println(divide);
	}
	
	@Test
	public void test1() {
		double d1 = 10.0;
		double d2 = 3.0;
		System.out.println(d1/d2); // 3.3333333333333335
	}
}