Tôi không biết cách xử lý new BigDecimal("0E30")
. Giá trị của nó là 0
nhưng không so sánh với BigDecimal.ZERO
. Xem dưới đây:0E30 không phải là ZERO
System.out.println(new BigDecimal("0E30").add(BigDecimal.ONE)); // ---> 1
System.out.println(new BigDecimal("0E30").equals(BigDecimal.ZERO)); // ---> false
một người nào đó có thể giúp tôi thực hiện so sánh đúng (Tôi biết tôi có thể nhận được một cách giải quyết bằng cách chuyển đổi các BigDecimal
s để double
, nhưng tôi muốn biết những gì đang xảy ra)? Tôi đang sử dụng JRE 1.6.3. nhờ