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.