1. 程式人生 > >BigDecimal --處理double/float精度問題

BigDecimal --處理double/float精度問題

需求: 做金額相關的處理, eg: 計算1.0 - 0.7的結果

public static void main(String[] args) {
		System.out.println(1.0 - 0.7);
		System.out.println(new BigDecimal(1.0).subtract(new BigDecimal(0.7)));
		System.out.println(new BigDecimal("1.0").subtract(new BigDecimal("0.7")));
	}

執行結果:

0.30000000000000004
0.3000000000000000444089209850062616169452667236328125
0.3

備註: BigDecimal 處理浮點數計算時, 需要將浮點數物件以字串的形式轉為BigDecimal 物件;