Rumah > Java > javaTutorial > teks badan

Bagaimana BigDecimal membandingkan saiz

DDD
Lepaskan: 2023-12-06 13:44:58
asal
4352 orang telah melayarinya

Kaedah untuk membandingkan saiz: 1. Gunakan kaedah "compareTo()"; 2. Gunakan kaedah "equals()"; ()" Panggilan berantai, dsb.

BigDecimal ialah kelas dalam Java yang digunakan untuk mengendalikan operasi titik terapung berketepatan tinggi. Apabila membuat perbandingan, BigDecimal menyediakan kaedah untuk membandingkan saiz dua objek. Berikut ialah beberapa kaedah untuk membandingkan saiz objek BigDecimal:

1 Gunakan kaedah compareTo(): ​​

compareTo() kaedah mengembalikan nilai integer yang menunjukkan hubungan saiz antara dua objek BigDecimal. Jika nilai pulangan adalah negatif, ia bermakna objek pertama adalah lebih kecil daripada objek kedua; jika nilai pulangan adalah sifar, kedua-dua objek adalah sama jika nilai pulangan adalah positif, ia bermakna objek pertama lebih besar daripada objek kedua .

Kod sampel:

import java.math.BigDecimal;  
  
public class BigDecimalComparison {  
    public static void main(String[] args) {  
        BigDecimal number1 = new BigDecimal("10.5");  
        BigDecimal number2 = new BigDecimal("20.5");  
          
        int result = number1.compareTo(number2);  
          
        if (result < 0) {  
            System.out.println("number1 < number2");  
        } else if (result > 0) {  
            System.out.println("number1 > number2");  
        } else {  
            System.out.println("number1 = number2");  
        }  
    }  
}
Salin selepas log masuk

Hasil keluaran:

number1 < number2
Salin selepas log masuk

2 Gunakan kaedah equals(): Kaedah

equals() digunakan untuk membandingkan sama ada dua objek sama besar. Ia membandingkan sama ada nilai berangka dan skala (bilangan digit selepas titik perpuluhan) dua objek adalah sama. Jika sama, kembali benar; jika tidak, pulangan palsu.

Kod sampel:

import java.math.BigDecimal;  
  
public class BigDecimalComparison {  
    public static void main(String[] args) {  
        BigDecimal number1 = new BigDecimal("10.5");  
        BigDecimal number2 = new BigDecimal("10.50");  
          
        boolean isEqual = number1.equals(number2);  
          
        if (isEqual) {  
            System.out.println("number1 = number2");  
        } else {  
            System.out.println("number1 != number2");  
        }  
    }  
}
Salin selepas log masuk

Hasil keluaran:

number1 != number2
Salin selepas log masuk

Nota: Apabila membandingkan objek BigDecimal menggunakan kaedah equals(), parameter skala, iaitu bilangan digit selepas titik perpuluhan, akan dipertimbangkan. Oleh itu, anda perlu memberi perhatian kepada tetapan skala apabila membandingkan.

3 Gunakan versi terlebih muatan kaedah compareTo(): ​​Kaedah

compareTo() juga mempunyai versi terlebih muatan yang boleh digunakan untuk membandingkan saiz relatif dua objek BigDecimal dengan objek yang ditentukan. Nilai pulangan versi terlebih beban ini adalah sama dengan nilai pulangan kaedah compareTo(). Melalui kaedah ini, kita boleh membandingkan hubungan saiz antara dua objek dan objek yang ditentukan. . Keputusan akhir ialah nombor negatif, menunjukkan bahawa nombor1 kurang daripada nombor2, dan nombor2 lebih besar daripada nombor3, jadi "nombor1 < nombor2 > nombor3" boleh dikeluarkan.

4 Gunakan panggilan berantai kaedah compareTo(): ​​Kaedah

compareTo() juga boleh dirantai untuk melakukan beberapa perbandingan dalam satu operasi. Melalui panggilan berantai, kita boleh membandingkan hubungan saiz antara dua objek dan berbilang objek.

Contoh kod:

import java.math.BigDecimal;  
  
public class BigDecimalComparison {  
    public static void main(String[] args) {  
        BigDecimal number1 = new BigDecimal("10.5");  
        BigDecimal number2 = new BigDecimal("20.5");  
        BigDecimal number3 = new BigDecimal("15.5");  
          
        int result = number1.compareTo(number2).compareTo(number3);  
          
        if (result < 0) {  
            System.out.println("number1 < number2 < number3");  
        } else if (result == 0) {  
            System.out.println("number1 = number2 = number3");  
        } else {  
            System.out.println("number1 > number2 > number3");  
        }  
    }  
}
Salin selepas log masuk
Salin selepas log masuk

Hasil keluaran:

import java.math.BigDecimal;  
  
public class BigDecimalComparison {  
    public static void main(String[] args) {  
        BigDecimal number1 = new BigDecimal("10.5");  
        BigDecimal number2 = new BigDecimal("20.5");  
        BigDecimal number3 = new BigDecimal("15.5");  
          
        int result = number1.compareTo(number2).compareTo(number3);  
          
        if (result < 0) {  
            System.out.println("number1 < number2 < number3");  
        } else if (result == 0) {  
            System.out.println("number1 = number2 = number3");  
        } else {  
            System.out.println("number1 > number2 > number3");  
        }  
    }  
}
Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, kami menggunakan panggilan berantai untuk membandingkan perhubungan saiz tiga objek. Mula-mula bandingkan nombor1 dan nombor2, kemudian bandingkan nombor2 dan nombor3, dan akhirnya dapatkan hasil perbandingan yang lengkap. Secara ringkasnya, kelas BigDecimal menyediakan pelbagai kaedah untuk membandingkan saiz Kita boleh memilih kaedah yang sesuai untuk mengendalikan situasi yang berbeza mengikut keperluan tertentu.

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

Label berkaitan:
sumber:php.cn
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!