Naudojant „Java“ eilutes, kartais mums reikia konvertuoti skaičių, pateiktą kaip eilutė, į sveikojo skaičiaus tipą. Paprastai tai darome, nes galime atlikti daugybę lanksčių operacijų per eilutes. Paprastai naudojamas būdas konvertuoti eilutę į sveikąjį skaičių Java parseInt () iš Styginių klasė .
Šiame straipsnyje pamatysime, kaip „Java“ paversti eilutę į int.

Programa konvertuoti Java eilutę į int
Iškart paimkime pavyzdį, kad priprastume prie veikiančio parseInt() metodo:
Java
alisa manyonok
// 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);> >}> }> |
>
žodžių įvyniojimas css
>Išvestis
20 20 -20 32 11670324>
parseInt() metodas Java
Yra du šio metodo variantai:
- parseInt(String s): Ši funkcija analizuoja eilutės argumentą kaip dešimtainį sveikąjį skaičių su ženklu.
- parseInt(String s, int radix): Ši funkcija išanalizuoja eilutės argumentą kaip sveikąjį skaičių, pažymėtą antrojo argumento nurodytoje raidėje.
ParseInt sintaksė
public static int parseInt(String str); public static int parseInt(String str, int radix);>
Parametrai
- g.: S tring, kurį reikia konvertuoti į sveikąjį skaičių.
- radix: naudojamas, kol eilute analizuojama.
Grąžinimo tipas
- Abu metodai konvertuoja eilutę į jos sveikųjų skaičių ekvivalentą. Vienintelis skirtumas yra parametro radix skirtumas. Pirmasis metodas gali būti laikomas radiksu = 10 (dešimtainis).
Išimtis išmestas
- NumberFormatException yra išmetamas šiuo metodu, jei įvyksta bet kuri iš toliau nurodytų situacijų.
Prisiminkite tam tikrus pagrindinius dalykus, susijusius su abiem variantais:
- Eilutė gali būti nulinė arba nulinio ilgio
- Eilutės pavaizduota reikšmė nėra int tipo reikšmė
- Konkrečiai funkcijos parseInt(String s, int radix) variantui:
- Antrasis argumentas yra mažesnis nei Character.MIN_RADIX arba didesnis nei Character.MAX_RADIX
- Bet koks eilutės simbolis nėra nurodytos raidės skaitmuo, išskyrus tai, kad pirmasis simbolis gali būti minuso ženklas „-“ („u002D“) arba pliuso ženklas „+“ („u002B“), jei eilutė yra ilgesnis nei ilgis 1
- Jei jūsų eilutėje yra nuliai priekyje, parseInt() metodas jų nepaisys.
Atvejai parseInt() metodas
Paimkime atsitiktinį kodo fragmentą, kad geriau suprastume iliustracijas.
1 atvejis: parseInt(20, 16)
grąžina 32 , (2)*16^1 + (0)*16^0 = 32
2 atvejis: parseInt(2147483648, 10)
išmeta NumberFormatException
3 atvejis: parseInt(99, 8)
išmeta NumberFormatException
Priežastis: 9 nėra priimtinas aštuntainių skaičių sistemos skaitmuo4 atvejis: parseInt(geeks, 28)
išmeta NumberFormatException
5 atvejis: parseInt(geeks, 29)
grąžina 11670324, Priežastis: Skaičių sistema su baze 29 gali turėti skaitmenis nuo 0 iki 9, po kurių seka simboliai a,b,c… iki s
6 atvejis: parseInt(geeksforgeeks, 29)
išmeta NumberFormatException kaip Priežastis: rezultatas nėra sveikasis skaičius.
Skaičių formatas Metodo parseInt() išimtys
Išimtys, kurias sukelia toliau nurodytas metodas parseInt():
Java
Pete'o Davidsono pilietybė
mysql pakeisti stulpelio tipą
// 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);> >}> }> |
>
>
Išvestis

Panašiai galime konvertuoti eilutę į bet kurį kitą primityvų duomenų tipą:
- parseLong(): išanalizuoja eilutę į Long
- parseDouble(): išanalizuoja eilutę į dvigubą Jei eilutę norime konvertuoti į sveikąjį skaičių nenaudojant parseInt() , galime naudoti vertė() metodas . Jis taip pat turi du variantus, panašius į parseInt()
- Skirtumas tarp parseInt() ir valueOf(): parseInt() analizuoja eilutę ir grąžina primityvų sveikųjų skaičių tipą. Tačiau valueOf() grąžina sveikojo skaičiaus objektą.
Pastaba: valueOf() naudoja parseInt() viduje, kad konvertuotų į sveikąjį skaičių.
Kitas būdas konvertuoti eilutę į sveikąjį skaičių
Be „Java“ metodo „parseInt()“, yra ir kitas būdas konvertuoti eilutę į sveikąjį skaičių. Žemiau pateikiamas valueOf() metodo įgyvendinimas
valueOf() metodas
Metodas Integer.valueOf() konvertuoja eilutę į sveikojo skaičiaus objektą. Supraskime tai pavyzdžiu.
Žemiau pateikiamas pirmiau minėto metodo įgyvendinimas:
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);> >}> }> |
kokio dydžio mano kompiuterio ekranas
>
>Išvestis
20 20 -20 32 11670324>