Java'da İki BigDecimals Nasıl Karşılaştırılır

Java Da Iki Bigdecimals Nasil Karsilastirilir



BüyükOndalık Java'daki ” sınıfı, aritmetik, ölçek yönetimi, yuvarlama, karşılaştırma işlevleri vb. sağlar. Buna ek olarak, programcıların büyük ve küçük kayan noktalı tamsayılarla olağanüstü bir hassasiyetle başa çıkmalarını sağlar. Bu, sabit ondalık sayı üzerinde daha fazla kesinlik elde etmeye yardımcı olur.

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.