Konvertujte Double na Long v Jave

1. Prehľad

V tomto tutoriáli preskúmame rôzne metódy, z ktorých je možné prevádzať dvojitý do dlho v Jave.

2. Používanie odlievania typov

Poďme skontrolovať priamy spôsob obsadenia dvojitý do dlho pomocou operátora obsadenia:

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

Uplatňovanie (dlhý) operátor obsadenia na a dvojitý hodnota 9999 999 vyústi do 9999.

Toto je primitívna konverzia, ktorá sa zužuje, pretože strácame presnosť. Keď dvojitý je obsadený do a dlho, výsledok zostane rovnaký, bez desatinnej čiarky.

3. Používanie Double.longValue

Poďme to preskúmať Dvojité zabudovaná metóda longValue previesť a dvojitý do a dlho:

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

Ako vidíme, uplatňovanie longValue metóda na a dvojitý hodnota 9999 999 poskytne 9999. Interne the longValue metóda je vykonávanie jednoduchého obsadenia.

4. Používanie Matematika Metódy

Na záver sa pozrime, ako previesť a dvojitý do dlho použitím okrúhle, stropné a podlahové metódy z Matematika trieda:

Najprv skontrolujeme Matematika.okruh. Takto sa získa hodnota najbližšia k argumentu:

Assert.assertEquals (9999, Math.round (9999,0)); Assert.assertEquals (9999, Math.round (9999,444)); Assert.assertEquals (10 000, matematický kruh (9999 999));

Po druhé, Matematika.strop prinesie najmenšiu hodnotu, ktorá je väčšia alebo rovná argumentu:

Assert.assertEquals (9999, Math.ceil (9999,0), 0); Assert.assertEquals (10 000, Math.ceil (9999 444), 0); Assert.assertEquals (10 000, Math.ceil (9999 999), 0);

Na druhej strane, Matematika.podlaha robí pravý opak Math.ceil. Vráti najväčšiu hodnotu, ktorá je menšia alebo rovná 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);

Všimnite si, že oboje Math.ceil a Matematika.okruh vrátiť a dvojitý hodnota, ale v obidvoch prípadoch je vrátená hodnota ekvivalentná a dlho hodnotu.

5. Záver

V tomto článku sme diskutovali o rôznych metódach prevodu dvojitý do dlho v Jave. Pred aplikáciou na kritický kód je vhodné pochopiť, ako sa jednotlivé metódy správajú.

Celý zdrojový kód tohto tutoriálu je k dispozícii na GitHub.


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