Syntax Java: Prevod reťazcov na čísla

Typicky v a grafické užívateľské rozhranie, budú existovať textové polia, ktoré očakávajú, že používateľ zadá číselnú hodnotu. Táto hodnota čísla skončí v a povrázok objekt, ktorý naozaj nepomôže vášmu programu, ak chcete urobiť aritmetiku. Našťastie existujú triedy wrapperov, ktoré poskytujú metódy na konverziu týchto hodnôt String na čísla a trieda String má spôsob, ako ich znova previesť.

Triedy obalov

primitívne typy údajov ktoré sa zaoberajú číslami (t. j. bajt, int, double, float, long a short), všetky majú ekvivalenty triedy. Tieto triedy sa nazývajú triedy wrapperov, pretože majú primitívny dátový typ a obklopujú ho funkčnosťou triedy. Napríklad trieda Double bude mať ako svoje dáta dvojitú hodnotu a bude poskytovať metódy na manipuláciu s touto hodnotou.

Všetky tieto triedy obalov majú metódu nazývanú valueOf. Táto metóda berie String ako argument a vracia inštanciu triedy wrapper. Napríklad povedzme, že máme reťazec s hodnotou desať:

Číslo reťazca = "10";

Mať toto číslo ako reťazec nie je pre nás zbytočné, preto ho pomocou triedy Integer prevádzame na objekt typu Integer:

instagram viewer
Celé číslo konvertovanéNumber = Integer.valueOf (číslo);

Teraz je možné číslo použiť ako číslo a nie ako reťazec:

convertNumber = convertNumber + 20;

Môžete tiež urobiť prevod priamo na primitívny typ údajov:

int convertNumber = Integer.valueOf (number) .intValue ();

Pre ostatné primitívne typy údajov stačí vložiť do správnej triedy obálky - Byte, Integer, Double, Float, Long Short.

Poznámka: Musíte sa ubezpečiť, že reťazec možno analyzovať na príslušný typ údajov. Ak to nie je možné, skončí sa chyba runtime. Napríklad, pokúsiť sa zakryť „desať“ do celého čísla:

Číslo reťazca = "desať";
int convertNumber = Integer.valueOf (number) .intValue ();

bude produkovať NumberFormatException, pretože kompilátor netuší, že „desať“ má byť 10.

Presnejšie rovnaká chyba sa vyskytne, ak zabudnete, že „int“ môže obsahovať iba celé čísla:

Číslo reťazca = "10,5";
int convertNumber = Integer.valueOf (number) .intValue ();

Kompilátor nebude skrátiť číslo, len si bude myslieť, že sa nezmestí do 'int' a že je čas hodiť NumberFormatException.

Konverzia čísel na reťazce

Ak chcete urobiť číslo na reťazec, postupujte rovnako ako vzorec triedy String. Ako argument môže brať ktorékoľvek z primitívnych čísel typu údajov a vytvoriť reťazec:

int numberTwenty = 20;

Konvertovaný reťazec = String.valueOf (numberTwenty);

ktorý dáva hodnotu „20“ ako hodnotu String co nvertted.

alebo môžete použiť metódu toString v ktorejkoľvek z tried obalov:

Konvertovaný reťazec = Integer.toString (numberTwenty);

Metóda toString je spoločná pre všetky typy objektov - väčšinou ide len o popis objektu. Pre triedy obalov je tento popis skutočná hodnota, ktorú obsahujú. V tomto smere je konverzia o niečo robustnejšia. Ak sa mala použiť trieda Double namiesto Integer:

Konvertovaný reťazec = Double.toString (numberTwenty);

výsledok by nespôsobil a chyba runtime. Prevedená premenná by obsahovala reťazec „20.0“.

Existuje aj jemnejší spôsob, ako prevádzať čísla, keď ste spájajúce reťazce. Ak sa má reťazec stavať takto:

String aboutDog = "Môj pes je" + čísloTvadsať + "rokov.";

konverzia int číslaTwenty sa uskutoční automaticky.

instagram story viewer