V Javi moramo med delovanjem z nizi včasih število, predstavljeno kot niz, pretvoriti v celoštevilski tip. Običajno to počnemo, ker lahko delujemo s širokim prilagodljivim naborom operacij nad nizi. Metoda, ki se običajno uporablja za pretvorbo niza v celo število v Javi, je parseInt () od Razred nizov .
V tem članku bomo videli, kako pretvoriti niz v int v Javi.

Program za pretvorbo Java String v int
Takoj vzemimo primer, da se navadimo na delujočo metodo parseInt():
Java
// Java program to demonstrate working parseInt()> // Where No NumberFormatException is Thrown> // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// Custom wide-varied inputs to illustrate> >// usage of valueOf() method> >int> decimalExample = Integer.parseInt(>'20'>);> >int> signedPositiveExample = Integer.parseInt(>'+20'>);> >int> signedNegativeExample = Integer.parseInt(>'-20'>);> >int> radixExample = Integer.parseInt(>'20'>,>16>);> >int> stringExample = Integer.parseInt(>'geeks'>,>29>);> >// Print commands on console> >System.out.println(decimalExample);> >System.out.println(signedPositiveExample);> >System.out.println(signedNegativeExample);> >System.out.println(radixExample);> >System.out.println(stringExample);> >}> }> |
>
sončni del
>Izhod
20 20 -20 32 11670324>
Metoda parseInt() v Javi
Obstajata dve različici te metode:
- parseInt(Niz s): Ta funkcija razčleni argument niza kot predznačeno decimalno celo število.
- parseInt(Niz s, int koren): Ta funkcija razčleni argument niza kot predznačeno celo število v korenu, ki ga določa drugi argument.
Sintaksa parseInt
public static int parseInt(String str); public static int parseInt(String str, int radix);>
Parametri
- str: S string, ki ga je treba pretvoriti v celo število.
- radix: se uporablja med razčlenjevanjem niza.
Vrsta povratka
- Obe metodi pretvorita niz v njegov celoštevilski ekvivalent. Edina razlika je v parametru radix. Prvo metodo lahko obravnavamo z radix = 10 (decimalno).
Vržena izjema
- NumberFormatException vrže ta metoda, če pride do katere od naslednjih situacij.
Zapomnite si nekatere ključne točke, povezane z obema različicama:
- Niz je lahko ničelna ali ničelne dolžine
- Vrednost, ki jo predstavlja niz, ni vrednost tipa int
- Posebej za različico funkcije parseInt(String s, int radix):
- Radiks drugega argumenta je manjši od Character.MIN_RADIX ali večji od Character.MAX_RADIX
- Noben znak niza ni številka podanega korena, razen da je prvi znak lahko znak minus '-' ('u002D') ali znak plus '+' ('u002B'), pod pogojem, da je niz daljši od dolžine 1
- Če ima vaš niz vodilne ničle, jih bo metoda parseInt() prezrla.
Primeri Metoda parseInt().
Vzemimo naključni delček kode za boljše razumevanje ilustracij.
1. primer: parseInt(20, 16)
vrne 32, (2)*16^1 + (0)*16^0 = 32
2. primer: parseInt(2147483648, 10)
vrže izjemo NumberFormatException
3. primer: parseInt(99, 8)
vrže izjemo NumberFormatException
razlog: 9 ni sprejeta številka osmiškega številskega sistema4. primer: parseInt(geeks, 28)
vrže izjemo NumberFormatException
Primer 5: parseInt(geeks, 29)
vrne 11670324, razlog: Številski sistem z osnovo 29 ima lahko števke 0-9, ki jim sledijo znaki a,b,c… do s
Primer 6: parseInt(geeksforgeeks, 29)
vrže izjemo NumberFormatException kot razlog: rezultat ni celo število.
Izjeme zapisa števila pri metodi parseInt().
Izjeme, ki jih povzroča spodaj navedena metoda parseInt():
Java
// Java Program to Demonstrate Working of parseInt() Method> // Where NumberFormatException is Thrown> // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// NumberFormatException> >String invalidArguments =>''>;> > >// invalidArguments Error empty string> >// passed> >int> emptyString> >= Integer.parseInt(invalidArguments);> > >// The Converted Intger is out of bound> >// Too large to be called Integer> >int> outOfRangeOfInteger> >= Integer.parseInt(>'geeksforgeeks'>,>29>);> > >// Domain Number System> >int> domainOfNumberSystem> >= Integer.parseInt(>'geeks'>,>28>);> >// Print commands on console> >System.out.println(emptyString);> >System.out.println(outOfRangeOfInteger);> >System.out.println(domainOfNumberSystem);> >}> }> |
>
>
Izhod

Podobno lahko pretvorimo niz v katero koli drugo primitivno vrsto podatkov:
- parseLong(): razčleni niz na Long
- razčleniDouble(): razčleni niz na podvojitev Če želimo pretvoriti niz v celo število brez uporabe parseInt() , lahko uporabimo valueOf() metoda . Ima tudi dve različici, podobni parseInt()
- Razlika med parseInt() in valueOf(): parseInt() razčleni niz in vrne primitivni celoštevilski tip. Vendar valueOf() vrne Integer Object.
Opomba: valueOf() interno uporablja parseInt() za pretvorbo v celo število.
Drug pristop za pretvorbo niza v celo število
Poleg metode parseInt() v Javi obstaja še ena metoda za pretvorbo niza v celo število. Spodaj je implementacija metode valueOf(), ki je
metoda valueOf().
Metoda Integer.valueOf() pretvori niz v objekt Integer. Naj to razumemo s primerom.
Spodaj je izvedba zgornje metode:
Java
// Java Program to Demonstrate> // Working of valueOf() Method> // Main class> public> class> GFG {> >// Main driver method> >public> static> void> main(String args[])> >{> >// Custom wide-varied inputs to illustrate> >// usage of valueOf() method> >int> decimalExample = Integer.valueOf(>'20'>);> >int> signedPositiveExample = Integer.valueOf(>'+20'>);> >int> signedNegativeExample = Integer.valueOf(>'-20'>);> >int> radixExample = Integer.valueOf(>'20'>,>16>);> >int> stringExample = Integer.valueOf(>'geeks'>,>29>);> >// Print statements> >System.out.println(decimalExample);> >System.out.println(signedPositiveExample);> >System.out.println(signedNegativeExample);> >System.out.println(radixExample);> >System.out.println(stringExample);> >}> }> |
>
>Izhod
20 20 -20 32 11670324>