1 Menggunakan kaedah equals() bukan sahaja memerlukan nilai kedua-dua BigDecimals untuk sama, tetapi juga memerlukan skala() mereka untuk sama.
BigDecimal d1 = new BigDecimal("123.45"); BigDecimal d2 = new BigDecimal("123.45000"); System.out.println(d1.equals(d2)); // false,因为scale不同 System.out.println(d1.equals(d2.stripTrailingZeros())); // true,因为d2去除尾部0后scale变为2,与d1相同
2 Gunakan kaedah compareTo() untuk membandingkan saiz dua nombor, masing-masing mengembalikan -1, 1 dan 0 mengikut saiz dua nilai, yang bermaksud kurang daripada, lebih besar daripada dan masing-masing sama.
import java.math.BigDecimal; public class Demo { public static void main(String[] args) { BigDecimal d1 = new BigDecimal("123.45"); BigDecimal d2 = new BigDecimal("123.45000"); BigDecimal d3 = new BigDecimal("123.40"); System.out.println(d1.compareTo(d2)); // 0 System.out.println(d1.compareTo(d3));// 1 System.out.println(d3.compareTo(d2));// -1 } }
Atas ialah kandungan terperinci Bagaimana untuk membandingkan nilai BigDecimal dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!