logo

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.



Java String v Int

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:

  1. parseInt(Niz s): Ta funkcija razčleni argument niza kot predznačeno decimalno celo število.
  2. 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:

  1. Niz je lahko ničelna ali ničelne dolžine
  2. Vrednost, ki jo predstavlja niz, ni vrednost tipa int
  3. 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
  4. Č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 sistema

4. 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:

  1. parseLong(): razčleni niz na Long
  2. 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()
  3. 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>