Pretvori Double u Long u Javi

1. Pregled

U ovom uputstvu istražit ćemo razne metode iz kojih se vrši konverzija dvostruko do dugo na Javi.

2. Korištenje tipskog lijevanja

Provjerimo izravni način emitiranja dvostruko do dugo pomoću operatora cast:

Assert.assertEquals (9999, (dugo) 9999,999);

Primjenom (dugo) cast operater na a dvostruko vrijednost 9999,999 rezultira 9999.

Ovo je sužavanje primitivne konverzije jer gubimo preciznost. Kad dvostruko baca se na a dugo, rezultat će ostati isti, isključujući decimalnu točku.

3. Korištenje Double.longValue

Sada, istražimo Dvostruka ugrađena metoda longValue pretvoriti a dvostruko do a dugo:

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

Kao što vidimo, primjenom longValue metoda na a dvostruko vrijednost 9999,999 daje 9999. Interno, the longValue metoda izvodi jednostavnu glumačku postavu.

4. Korištenje Matematika Metode

Napokon, pogledajmo kako pretvoriti a dvostruko do dugo koristeći okrugli, strop i pod metode iz Matematika razred:

Prvo provjerimo Matematika.okružno. To daje vrijednost najbližu argumentu:

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

Drugo, Matematika.staviti strop će dati najmanju vrijednost koja je veća ili jednaka argumentu:

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

S druge strane, Matematika.kat čini upravo suprotno od Matematika.ceil. Ovo vraća najveću vrijednost koja je manja ili jednaka argumentu:

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

Imajte na umu da oboje Matematika.ceil i Matematika.okružno povratak a dvostruko vrijednost, ali u oba slučaja, vraćena vrijednost ekvivalentna je a dugo vrijednost.

5. Zaključak

U ovom smo članku razgovarali o raznim metodama pretvorbe dvostruko do dugo na Javi. Preporučljivo je razumjeti kako se ponaša svaka metoda prije nego što je primijenite na kritični kôd.

Kompletni izvorni kôd za ovu lekciju dostupan je na GitHubu.