Niz v int v Javi
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);> > }> }> |
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