Konvertálja a Double-t Long-ba Java-ban

1. Áttekintés

Ebben az oktatóanyagban különböző módszereket fogunk megismerni, amelyekből konvertálhat kettős nak nek hosszú Java-ban.

2. A Type Casting használata

Ellenőrizzük a vetítés egyszerű módját kettős nak nek hosszú az öntvény operátor használatával:

Assert.assertEquals (9999, (hosszú) 9999.999);

A (hosszú) öntött operátor a kettős a 9999.999 érték 9999-et eredményez.

Ez egy szűkülő primitív megtérés, mert elveszítjük a pontosságot. Amikor a kettős öntött a hosszú, az eredmény a tizedesjegy kivételével ugyanaz marad.

3. Használata Double.longValue

Most pedig fedezzük fel Dupla beépített módszer longValue átalakítani a kettős a hosszú:

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

Mint láthatjuk, a longValue módszer a kettős a 9999.999 érték 9999. hozamot eredményez. a longValue módszer egy egyszerű szereposztást végez.

4. Használata Math Mód

Végül nézzük meg, hogyan lehet a kettős nak nek hosszú felhasználásával kerek, mennyezet és padló módszerek a Math osztály:

Először ellenőrizzük Math.forduló. Ez az érvhez legközelebb eső értéket adja:

Assert.assertEquals (9999, Math.round (9999,0)); Assert.assertEquals (9999, Matematikai kör (9999,444)); Assert.assertEquals (10000, Math.round (9999.999));

Másodszor, Math.mennyezet a legkisebb értéket adja, amely nagyobb vagy egyenlő az argumentummal:

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

Másrészről, Math.floor éppen az ellenkezőjét teszi Math.ceil. Ez adja a legnagyobb értéket, amely kisebb vagy egyenlő az argumentummal:

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

Vegye figyelembe, hogy mindkettő Math.ceil és Math.forduló vissza a kettős érték, de mindkét esetben a visszaadott érték egyenértékű az a-val hosszú érték.

5. Következtetés

Ebben a cikkben a konverzió különféle módszereit tárgyaltuk kettős nak nek hosszú Java-ban. Célszerű megérteni, hogy az egyes módszerek hogyan viselkednek, mielőtt a kritikus kódra alkalmaznák őket.

Az oktatóanyag teljes forráskódja elérhető a GitHub oldalon.