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.