Bu makale, Java'da iki “BigDecimals” karşılaştırma yaklaşımlarını detaylandıracaktır.
Java'da “BigDecimal” nedir?
A ' BüyükOndalık ”Java'da 32 bitlik bir tamsayı ölçeği içerir ve çok büyük ve çok küçük kayan noktalı sayıları işlemek için kullanılır. “ ölçek ”, ondalık noktanın sağındaki basamak sayısını temsil eder.
Java'da İki BigDecimals Nasıl Karşılaştırılır?
Java'da iki BigDecimal'i karşılaştırmak için aşağıdaki yaklaşımları uygulayın:
Yaklaşımlara geçmeden önce, “ erişim için aşağıda sağlanan paketi eklediğinizden emin olun. matematik ” sınıf yöntemleri:
içe aktarmak java.matematik.* ;
Yaklaşım 1: “compareTo()” Yöntemini Kullanarak Java'da İki Büyük Ondalık Sayıyı Karşılaştırın
“ karşılaştırmak() 'yöntem ikisini karşılaştırır' Büyük Ondalıklar ” ve aşağıdaki parametrelere göre sonucu döndürür:
Döndürülen Sonuç | Hesaplanmış Karşılaştırma |
---|---|
1 | Eski BigDecimal, ikinci BigDecimal'den büyükse. |
0 | Eski BigDecimal'in ikinci BigDecimal'e eşit olması durumunda. |
-1 | Eski BigDecimal, ikinci BigDecimal'den küçük olduğunda. |
Bu yöntem, oluşturulan iki “karşılaştırma” için uygulanabilir. BüyükOndalık ” değerleri ve karşılık gelen sonucu “ eğer / başka ' ifade.
Sözdizimi
halk int karşılaştırmak ( Nesne nesne )
Bu sözdizimine göre, “ nesne nesnesi ”, karşılaştırılması gereken nesneye karşılık gelir.
Örnek
Aşağıda verilen örnek, tartışılan kavramı açıklamaktadır:
halk sınıf karşılaştır büyük ondalık {halk statik geçersiz ana ( Sicim argümanlar [ ] ) {
BüyükOndalık değer1, değer2 ;
seçim1 = yeni BüyükOndalık ( '26326.04' ) ;
val2 = yeni BüyükOndalık ( '22145.20' ) ;
eğer ( seçim1. karşılaştırmak ( val2 ) == 0 ) {
Sistem . dışarı . yazdır ( seçim1 + ' Ve ' + val2 + 'eşittir' ) ;
}
başka eğer ( seçim1. karşılaştırmak ( val2 ) == - 1 ) {
sistem . dışarı . yazdır ( seçim1 + ' daha az ' + val2 ) ;
}
başka {
sistem . dışarı . yazdır ( seçim1. karşılaştırmak ( val2 ) ) ;
Sistem . dışarı . yazdır ( seçim1 + ' daha büyüktür ' + val2 ) ;
}
Yukarıdaki kod satırlarına göre aşağıdaki adımları uygulayın:
- Her şeyden önce, iki tane oluşturun “ Büyük Ondalıklar ” belirtilen değerlere sahip.
- Şimdi, “ karşılaştırmak() hem atanan değerlerle hem de ' içinde sağlanan koşulla ' yöntemi eğer ” ifadesi, ilgili mesajı günlüğe kaydedin.
- Not: Koşullar, yöntemin düzgün çalışmasını sağlamak için yöntemin döndürdüğü sonuca göre belirtilir.
- Aynı şekilde, “ başka eğer ” ifadesi, yöntem dönüş türünü göz önünde bulundurarak diğer koşulu belirtir, yani, “ -1 ”.
- Son olarak, “ başka ” ifadesi, yukarıdaki her iki şartın da yerine getirilmemesi durumunda yürürlüğe girer.
Çıktı
Yukarıdaki sonuçta, döndürülen ' 1 ”, “ başka ” ifadesi çağrılır.
Yaklaşım 2: 'Equals()' Yöntemini Kullanarak Java'da İki Büyük Ondalık Sayıyı Karşılaştırın
“ eşittir() 'Java yöntemi' BüyükOndalık ” sınıfı, değer ve ölçeğe dayalı eşitlik için BigDecimals'ı karşılaştırmak için kullanılır. Bu yöntem, ölçeklerinde bir varyasyona sahip olan BigDecimals üzerinde bir kontrol uygulamak için uygulanabilir.
Sözdizimi
halk mantıksal eşittir ( Nesne X )Bu sözdiziminde, “ x nesnesi ”, bu BigDecimal'in karşılaştırılması gereken nesneye karşılık gelir.
Örnek
Aşağıdaki örneği gözden geçirelim:
halk sınıf karşılaştırbüyük ondalık2 {halk statik geçersiz ana ( Sicim argümanlar [ ] ) {
BüyükOndalık değer1, değer2 ;
seçim1 = yeni BüyükOndalık ( '205.0' ) ;
val2 = yeni BüyükOndalık ( '205.00' ) ;
eğer ( seçim1. eşittir ( val2 ) ) {
Sistem . dışarı . yazdır ( seçim1 + ' Ve ' + val2 + 'eşittir' ) ;
}
başka {
Sistem . dışarı . yazdır ( seçim1 + ' Ve ' + val2 + 'eşit değil' ) ;
}
} }
Yukarıdaki koda göre:
- Aynı şekilde, ölçeklerinde çeşitlilik gösteren iki BigDecimal oluşturun.
- Not: “ 0 ' eşit değildir ' 2.00 ” Bu yöntemle karşılaştırıldığında.
- Bundan sonra, “ eşittir() Oluşturulan BigDecimals'ı karşılaştırmak ve ilgili sonucu ' aracılığıyla döndürmek için ' yöntemi eğer / başka ' ifade.
Çıktı
Bu sonuçtan hem “ Büyük Ondalıklar ”, ölçekteki değişiklik nedeniyle eşit değildir.
Ancak, aşağıdaki sonuç 'BigDecimals'in eşit olmasına yol açar:
Bu şekilde iki 'karşılaştırabilirsiniz' Büyük Ondalıklar ” Java'da.
Çözüm
A ' BüyükOndalık ”Java'da 32 bitlik bir tamsayı ölçeği içerir. Java'daki iki BigDecimal, “ uygulanarak karşılaştırılabilir. karşılaştırmak() ', ya da ' eşittir () ” yöntemleri. Önceki yaklaşım, hesaplanan karşılaştırmaya dayalı olarak çıktıyı döndürür. İkinci yaklaşım, BigDecimal değerlerini belirtilen ölçeklere göre analiz eder. Bu blog, Java'daki iki “BigDecimals”ı karşılaştırmak için yönlendirilmiştir.