Cách so sánh hai số BigDecimal trong Java

Cach So Sanh Hai So Bigdecimal Trong Java



Các ' BigDecimal ” lớp trong Java cung cấp các chức năng số học, quản lý tỷ lệ, làm tròn, so sánh, v.v. Ngoài ra, nó cho phép các lập trình viên xử lý các số nguyên dấu phẩy động lớn và nhỏ với độ chính xác đặc biệt. Điều này giúp đạt được độ chính xác cao hơn đối với số thập phân cố định.

Bài viết này sẽ trình bày chi tiết về các cách tiếp cận để so sánh hai “BigDecimals” trong Java.

'BigDecimal' trong Java là gì?

MỘT ' BigDecimal ” trong Java bao gồm thang số nguyên 32 bit và được sử dụng để xử lý các số dấu phẩy động rất lớn và rất nhỏ. Các ' tỉ lệ ” đại diện cho số chữ số ở bên phải dấu thập phân.







Làm cách nào để so sánh hai BigDecimals trong Java?

Để so sánh hai BigDecimals trong Java, hãy áp dụng các phương pháp sau:



Trước khi chuyển sang các phương pháp tiếp cận, hãy đảm bảo bao gồm gói được cung cấp bên dưới để truy cập vào “ toán học ” phương thức lớp:



nhập khẩu java.math.* ;

Cách tiếp cận 1: So sánh hai BigDecimals trong Java bằng phương thức “so sánh với()”

Các ' so với() ” phương pháp so sánh hai “ số thập phân lớn ” và trả về kết quả dựa trên các tham số sau:





kết quả trả về So sánh tính toán
1 Nếu BigDecimal trước lớn hơn BigDecimal sau.
0 Trong trường hợp BigDecimal trước bằng với BigDecimal sau.
-1 Khi BigDecimal trước nhỏ hơn BigDecimal sau.

Phương pháp này có thể được áp dụng để so sánh hai “ BigDecimal ” giá trị và trả về kết quả tương ứng thông qua “ nếu khác ' tuyên bố.

cú pháp



công cộng int so với ( Sự vật đối tượng )

Theo cú pháp này, “ đối tượng obj ” tương ứng với đối tượng cần so sánh.

Ví dụ

Ví dụ được cung cấp dưới đây giải thích khái niệm được thảo luận:

công cộng lớp học so sánhbigdecimal {
công cộng tĩnh khoảng trống chủ yếu ( Sợi dây tranh luận [ ] ) {
BigDecimal giá1, giá2 ;
lựa chọn1 = mới BigDecimal ( '26326.04' ) ;
val2 = mới BigDecimal ( '22145.20' ) ;
nếu như ( lựa chọn1. so với ( val2 ) == 0 ) {
Hệ thống . ngoài . bản in ( lựa chọn1 + ' Và ' + val2 + 'bằng nhau' ) ;
}
khác nếu như ( lựa chọn1. so với ( val2 ) == - 1 ) {
Hệ thống . ngoài . bản in ( lựa chọn1 + ' ít hơn ' + val2 ) ;
}
khác {
Hệ thống . ngoài . bản in ( lựa chọn1. so với ( val2 ) ) ;
Hệ thống . ngoài . bản in ( lựa chọn1 + ' lớn hơn ' + val2 ) ;
}

Theo các dòng mã trên, hãy áp dụng các bước sau:

  • Trước hết, hãy tạo hai “ số thập phân lớn ” có các giá trị đã nêu.
  • Bây giờ, hãy liên kết “ so với() ” với cả hai giá trị được gán và theo điều kiện thỏa mãn trong “ nếu như ”, hãy ghi lại thông báo tương ứng.
  • Ghi chú: Các điều kiện được chỉ định dựa trên kết quả trả về của phương thức để làm cho phương thức hoạt động bình thường.
  • Tương tự, “ khác nếu ” câu lệnh chỉ định điều kiện khác xem xét kiểu trả về của phương thức, tức là, “ -1 ”.
  • Cuối cùng, làm cho “ khác ” tuyên bố có hiệu lực khi cả hai điều kiện không được thỏa mãn ở trên.

đầu ra

Trong kết quả trên, trả về “ 1 ” chỉ ra rằng “ khác ” tuyên bố được gọi.

Cách tiếp cận 2: So sánh hai BigDecimals trong Java bằng phương thức “bằng()”

Các ' bằng() ” phương pháp của Java “ BigDecimal ” được sử dụng để so sánh các BigDecimals về sự bình đẳng dựa trên giá trị và tỷ lệ. Phương pháp này có thể được triển khai để áp dụng kiểm tra khi BigDecimals có sự thay đổi về tỷ lệ của chúng.

cú pháp

công cộng boolean bằng ( Sự vật x )

Trong cú pháp này, “ đối tượng x ” tương ứng với đối tượng mà BigDecimal này cần được so sánh.

Ví dụ

Hãy xem tổng quan ví dụ sau:

công cộng lớp học so sánhbigdecimal2 {
công cộng tĩnh khoảng trống chủ yếu ( Sợi dây tranh luận [ ] ) {
BigDecimal giá1, giá2 ;
lựa chọn1 = mới BigDecimal ( '205.0' ) ;
val2 = mới BigDecimal ( '205.00' ) ;
nếu như ( lựa chọn1. bằng ( val2 ) ) {
Hệ thống . ngoài . bản in ( lựa chọn1 + ' Và ' + val2 + 'bằng nhau' ) ;
}
khác {
Hệ thống . ngoài . bản in ( lựa chọn1 + ' Và ' + val2 + 'không bằng nhau' ) ;
}
} }

Theo mã trên:

  • Tương tự như vậy, tạo hai BigDecimal có sự thay đổi về tỷ lệ của chúng.
  • Ghi chú: 0 ' Không bằng ' 2,00 ” khi so sánh với phương pháp này.
  • Sau đó, áp dụng “ bằng() ” để so sánh BigDecimals đã tạo và trả về kết quả tương ứng thông qua “ nếu khác ' tuyên bố.

đầu ra

Trong kết quả này, có thể nhận thấy rằng cả “ số thập phân lớn ” không bằng nhau do sự thay đổi về quy mô.

Tuy nhiên, kết quả sau đây dẫn đến việc làm cho 'BigDecimals' bằng nhau:

Đó là cách bạn có thể so sánh hai “ số thập phân lớn ” trong Java.

Phần kết luận

MỘT ' BigDecimal ” trong Java bao gồm thang số nguyên 32 bit. Hai BigDecimals trong Java có thể được so sánh bằng cách áp dụng “ so với() ', hoặc là ' bằng() ” phương pháp. Cách tiếp cận trước đây trả về đầu ra dựa trên phép so sánh được tính toán. Cách tiếp cận thứ hai phân tích các giá trị BigDecimal dựa trên các thang đo đã chỉ định. Blog này được hướng dẫn để so sánh hai “BigDecimals” trong Java.