天天看點

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
	}
}