Konverter dobbelt til lang i Java

1. Oversikt

I denne opplæringen vil vi utforske ulike metoder å konvertere fra dobbelt til lang i Java.

2. Bruke Type Casting

La oss sjekke en grei måte å kaste dobbelt til lang ved hjelp av rollebesetningsoperatøren:

Assert.assertEquals (9999, (lang) 9999.999);

Bruke (lang) støpt operatør på en dobbelt verdi 9999.999 resulterer i 9999.

Dette er en innsnevring av primitiv konvertering fordi vi mister presisjon. Når en dobbelt er støpt til en lang, vil resultatet forbli det samme, unntatt desimaltegnet.

3. Bruke Double.longValue

La oss nå utforske Dobbelt innebygd metode longValue å konvertere en dobbelt til en lang:

Assert.assertEquals (9999, Double.valueOf (9999.999) .longValue ());

Som vi kan se, bruker du longValue metode på en dobbelt verdi 9999.999 gir 9999. Internt, de longValue metoden er å utføre en enkel rollebesetning.

4. Bruke Matte Metoder

Til slutt, la oss se hvordan du konverterer en dobbelt til lang ved hjelp av runde, tak og gulv metoder fra Matte klasse:

La oss først sjekke Matematikk. Runde. Dette gir en verdi nærmest argumentet:

Assert.assertEquals (9999, Math.round (9999.0)); Assert.assertEquals (9999, Math.round (9999.444)); Assert.assertEquals (10000, Math.round (9999.999));

For det andre, Matte.tak vil gi den minste verdien som er større enn eller lik argumentet:

Assert.assertEquals (9999, Math.ceil (9999.0), 0); Assert.assertEquals (10000, Math.ceil (9999.444), 0); Assert.assertEquals (10000, Math.ceil (9999.999), 0);

På den andre siden, Matematikkgulv gjør akkurat det motsatte av Math.ceil. Dette returnerer den største verdien som er mindre enn eller lik argumentet:

Assert.assertEquals (9999, Math.floor (9999.0), 0); Assert.assertEquals (9999, Math.floor (9999.444), 0); Assert.assertEquals (9999, Math.floor (9999.999), 0);

Legg merke til at begge Math.ceil og Matematikk. Runde returner a dobbelt verdi, men i begge tilfeller tilsvarer verdien som returneres en a lang verdi.

5. Konklusjon

I denne artikkelen har vi diskutert forskjellige metoder for å konvertere dobbelt til lang i Java. Det anbefales å ha en forståelse av hvordan hver metode oppfører seg før du bruker den på oppdragskritisk kode.

Den komplette kildekoden for denne opplæringen er tilgjengelig på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found