Konverzia reťazca Java na dvojnásobok

1. Prehľad

V tomto výučbe sa budeme venovať mnohým spôsobom prevodu a String do a dvojitý v Jave.

2. Double.parseDouble

Môžeme previesť a String do a dvojitý pomocou Dvojitý.parseDouble metóda:

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

3. Double.valueOf

Podobne môžeme previesť a String do škatule Dvojitý pomocou Double.valueOf metóda:

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

Upozorňujeme, že vrátená hodnota je Double.valueOf je škatuľka Dvojitý. Od verzie Java 5 to bolo zabalené Dvojitý je prevedený kompilátorom na primitívny dvojitý kde treba.

Všeobecne, mali by sme uprednostňovať Double.parseDouble pretože nevyžaduje, aby kompilátor vykonal automatické rozbalenie.

4. DecimalFormat.parse

Keď String predstavujúci a dvojitý má zložitejší formát, môžeme použiť a DecimalFormat.

Napríklad môžeme previesť desatinnú hodnotu meny bez odstránenia nečíselných symbolov:

Formát DecimalFormat = nový DecimalFormat ("\ u00A4 #, ## 0,00"); format.setParseBigDecimal (true); BigDecimal decimal = (BigDecimal) format.parse ("- 1 000,57 dolárov"); assertEquals (-1000,57, decimal.doubleValue (), 0,000001);

Podobne ako v Double.valueOf, DecimalFormat.parse metóda vracia a Číslo, ktorú môžeme previesť na primitív dvojitý pomocou doubleValue metóda. Ďalej používame setParseBigDecimal metóda na vynútenie DecimalFormat.parse vrátiť sa a BigDecimal.

Zvyčajne DecimalFormat je pokročilejšie, ako požadujeme, mali by sme preto zvýhodniť Double.parseDouble alebo Double.valueOf namiesto toho.

Ak sa chcete dozvedieť viac o DecimalFormat, pozrite si praktického sprievodcu DecimalFormat.

5. Neplatné konverzie

Java poskytuje jednotné rozhranie pre prácu s neplatnými číslami Strings.

Je pozoruhodné, Double.parseDouble, Double.valueOfa DecimalFormat.parse hodiť a NullPointerException keď prechádzame nulový.

Podobne, Double.parseDouble a Double.valueOf hodiť a NumberFormatException keď odovzdáme neplatný reťazec, ktorý sa nedá analyzovať na a dvojitý (ako napr &).

Nakoniec DecimalFormat.parse hodí a ParseException keď minieme neplatný String.

6. Vyvarujte sa zneužitých konverzií

Pred programom Java 9 sme mohli vytvoriť škatuľu Dvojitý od a String vytvorením inštancie a Dvojitý:

nový Double („1,23“);

Od verzie 9 Java túto metódu oficiálne zastarala.

7. Záver

Záverom možno povedať, že Java nám poskytuje niekoľko metód prevodu Strings do dvojitý hodnoty.

Všeobecne odporúčame použitie Double.parseDouble pokiaľ nie je v škatuli Dvojitý je potrebné.

Zdrojový kód tohto článku vrátane príkladov nájdete na GitHub.


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