Rumah > Java > javaTutorial > teks badan

Bagaimana untuk membandingkan nilai BigDecimal dalam java

WBOY
Lepaskan: 2023-04-18 16:25:03
ke hadapan
3388 orang telah melayarinya

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相同
Salin selepas log masuk

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
     }
    }
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk membandingkan nilai BigDecimal dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan