Pretvaranje Java niza u dvostruko

1. Pregled

U ovom ćemo uputstvu pokriti mnoge načine pretvaranja a Niz u a dvostruko na Javi.

2. Double.parseDouble

Možemo pretvoriti a Niz do a dvostruko koristiti Dvostruko.raščlanitiDvostruko metoda:

assertEquals (1,23, Double.parseDouble ("1,23"), 0,000001);

3. Double.valueOf

Slično tome, možemo pretvoriti a Niz u kutiju Dvostruko koristiti Double.valueOf metoda:

assertEquals (1,23, Double.valueOf ("1,23"), 0,000001);

Imajte na umu da je vraćena vrijednost Double.valueOf je u kutiji Dvostruko. Od Jave 5, ovo je pakirano Dvostruko prevodilac pretvara u primitiv dvostruko gdje treba.

Općenito, trebali bismo favorizirati Double.parseDouble budući da ne zahtijeva od prevoditelja da izvrši automatsko raspakiranje.

4. DecimalFormat.parse

Kad Niz predstavljajući a dvostruko ima složeniji format, možemo koristiti DecimalFormat.

Na primjer, možemo pretvoriti vrijednost valute zasnovane na decimalnom znaku bez uklanjanja numeričkih simbola:

DecimalFormat format = novi DecimalFormat ("\ u00A4 #, ## 0.00"); format.setParseBigDecimal (true); BigDecimal decimal = ((BigDecimal) format.parse ("- 1.000,57 USD"); assertEquals (-1000,57, decimal.doubleValue (), 0,000001);

Slično kao Double.valueOf, DecimalFormat.parse metoda vraća a Broj, koji možemo pretvoriti u primitiv dvostruko koristiti doubleValue metoda. Uz to koristimo i setParseBigDecimal metoda prisiljavati DecimalFormat.parse vratiti a BigDecimal.

Obično, DecimalFormat je napredniji nego što mi zahtijevamo, stoga bismo trebali favorizirati Double.parseDouble ili Double.valueOf umjesto toga.

Da biste saznali više o DecimalFormat, pogledajte praktični vodič za DecimalFormat.

5. Nevažeće konverzije

Java pruža jedinstveno sučelje za rukovanje nevaljanim numeričkim Nizs.

Značajno, Double.parseDouble, Double.valueOf, i DecimalFormat.parse baciti a NullPointerException kad prođemo null.

Također, Double.parseDouble i Double.valueOf baciti a NumberFormatException kada proslijedimo nevaljani niz koji se ne može raščlaniti na dvostruko (kao što je &).

Posljednje, DecimalFormat.parse baca a ParseException kad prođemo nevaljanog Niz.

6. Izbjegavanje osvještenih konverzija

Prije Jave 9 mogli smo stvoriti boks Dvostruko od Niz instanciranjem a Dvostruko:

novi Double ("1,23");

Od verzije 9, Java je službeno prestala koristiti ovu metodu.

7. Zaključak

Zaključno, Java nam nudi više metoda za pretvorbu Nizs u dvostruko vrijednosti.

Općenito, preporučujemo upotrebu Double.parseDouble osim ako nije u boksu Dvostruko potrebno je.

Izvorni kod za ovaj članak, uključujući primjere, možete pronaći na GitHubu.


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