Kuinka vertailla kahta suurdesimaalilukua Javassa

Kuinka Vertailla Kahta Suurdesimaalilukua Javassa



' BigDecimal ” -luokka Javassa tarjoaa aritmetiikkaa, mittakaavan hallintaa, pyöristystä, vertailutoimintoja jne. Sen lisäksi sen avulla ohjelmoijat voivat käsitellä suuria ja pieniä liukulukukokonaislukuja poikkeuksellisen tarkasti. Tämä auttaa saavuttamaan enemmän tarkkuutta kiinteään desimaalien määrään nähden.

Tämä artikkeli käsittelee lähestymistapoja kahden 'BigDecimaalin' vertailuun Javassa.

Mikä on 'BigDecimal' Javassa?

A ' BigDecimal ” Javassa sisältää 32-bittisen kokonaislukuasteikon ja sitä käytetään käsittelemään erittäin suuria ja hyvin pieniä liukulukuja. ' mittakaavassa ” edustaa desimaalipilkun oikealla puolella olevien numeroiden määrää.







Kuinka vertailla kahta suurdesimaalilukua Javassa?

Voit verrata kahta BigDecimaaleja Javassa käyttämällä seuraavia lähestymistapoja:



Ennen kuin siirryt lähestymistapoihin, muista sisällyttää alla oleva paketti päästäksesi ' matematiikka ”luokan menetelmät:



tuonti java.math.* ;

Lähestymistapa 1: Vertaa kahta suurdesimaalilukua Javassa käyttämällä 'compareTo()'-menetelmää

' vertaa() 'menetelmä vertaa näitä kahta' BigDecimals ' ja palauttaa tuloksen seuraavien parametrien perusteella:





Palautettu tulos Laskennallinen vertailu
1 Jos edellinen BigDecimal on suurempi kuin jälkimmäinen BigDecimal.
0 Jos entinen BigDecimal on yhtä suuri kuin jälkimmäinen BigDecimal.
-1 Kun entinen BigDecimal on pienempi kuin jälkimmäinen BigDecimal.

Tätä menetelmää voidaan käyttää vertaamaan kahta luotua ' BigDecimal ' arvot ja palauta vastaava tulos '' tai muuten ”lausunto.

Syntaksi



julkinen int vertaa ( Esine obj )

Tämän syntaksin mukaan ' Objektiobjekti ” vastaa vertailtavaa kohdetta.

Esimerkki

Alla oleva esimerkki selittää käsiteltyä käsitettä:

julkinen luokkaa vertaa isodesimaalilukua {
julkinen staattinen mitätön pää ( merkkijono args [ ] ) {
BigDecimal arvo1, val2 ;
valinta 1 = Uusi BigDecimal ( '26326.04' ) ;
val2 = Uusi BigDecimal ( '22145.20' ) ;
jos ( valinta 1. vertaa ( val2 ) == 0 ) {
Järjestelmä . ulos . println ( valinta 1 + ' ja ' + val2 + ' ovat tasa-arvoisia' ) ;
}
muu jos ( valinta 1. vertaa ( val2 ) == - 1 ) {
Järjestelmä . ulos . println ( valinta 1 + ' on vähemmän kuin ' + val2 ) ;
}
muu {
Järjestelmä . ulos . println ( valinta 1. vertaa ( val2 ) ) ;
Järjestelmä . ulos . println ( valinta 1 + ' on suurempi kuin ' + val2 ) ;
}

Suorita seuraavat vaiheet yllä olevien koodirivien mukaisesti:

  • Luo ensin kaksi ' BigDecimals ” jolla on ilmoitetut arvot.
  • Yhdistä nyt ' vertaa() ' -menetelmällä sekä määritetyillä arvoilla että täyttyessä ' jos ”-lauseessa kirjaa vastaava viesti.
  • Huomautus: Ehdot määritellään menetelmän palauttaman tuloksen perusteella, jotta menetelmä toimii oikein.
  • Samoin ' muuten jos '-lause määrittää toisen ehdon menetelmän palautustyypin mukaan, eli ' -1 ”.
  • Tee lopuksi ' muu ”-lausunto tulee voimaan molemmissa yllä olevissa tyydyttämättömissä olosuhteissa.

Lähtö

Yllä olevassa tuloksessa palautettiin ' 1 ' osoittaa, että ' muu ”lausuntoa vedotaan.

Lähestymistapa 2: Vertaa kahta suurdesimaalilukua Javassa käyttämällä 'equals()'-menetelmää

' on yhtä suuri () 'Javan menetelmä' BigDecimal ” -luokkaa hyödynnetään BigDecimaalien vertailuun arvon ja mittakaavan tasa-arvoon. Tämä menetelmä voidaan toteuttaa tarkistamaan BigDecimals, joiden asteikko vaihtelee.

Syntaksi

julkinen boolean on yhtä suuri ( Esine x )

Tässä syntaksissa ' Objekti x ” vastaa objektia, johon tätä BigDecimaalia on verrattava.

Esimerkki

Katsotaanpa seuraavaa esimerkkiä:

julkinen luokkaa vertaa iso desimaali2 {
julkinen staattinen mitätön pää ( merkkijono args [ ] ) {
BigDecimal arvo1, val2 ;
valinta 1 = Uusi BigDecimal ( '205.0' ) ;
val2 = Uusi BigDecimal ( '205.00' ) ;
jos ( valinta 1. on yhtä suuri ( val2 ) ) {
Järjestelmä . ulos . println ( valinta 1 + ' ja ' + val2 + ' ovat tasa-arvoisia' ) ;
}
muu {
Järjestelmä . ulos . println ( valinta 1 + ' ja ' + val2 + 'eivät ole tasa-arvoisia' ) ;
}
} }

Yllä olevan koodin mukaan:

  • Luo samalla tavalla kaksi BigDecimaaleja, joiden asteikko vaihtelee.
  • Huomautus: ' 0 'ei ole sama kuin' 2.00 ” verrattuna tähän menetelmään.
  • Käytä sen jälkeen ' on yhtä suuri () ' -menetelmää luotujen BigDecimaalien vertailuun ja vastaavan tuloksen palauttamiseksi ' tai muuten ”lausunto.

Lähtö

Tässä tuloksessa voidaan havaita, että sekä ' BigDecimals ” eivät ole samanarvoisia mittakaavan vaihtelun vuoksi.

Seuraava tulos kuitenkin johtaa siihen, että 'BigDecimals' on yhtä suuri:

Näin voit verrata kahta ' BigDecimals 'Javalla.

Johtopäätös

A ' BigDecimal ” Javassa sisältää 32-bittisen kokonaislukuasteikon. Javassa olevia kahta BigDecimaaleja voidaan verrata käyttämällä ' vertaa() ', tai ' on yhtä suuri () ”menetelmiä. Edellinen lähestymistapa palauttaa tuotoksen lasketun vertailun perusteella. Jälkimmäinen lähestymistapa analysoi BigDecimal-arvot määritettyjen asteikkojen perusteella. Tämä blogi on opastettu vertaamaan kahta 'BigDecimals' -lukua Javassa.