Java, darbojoties ar virknēm, ir gadījumi, kad mums ir jāpārvērš skaitlis, kas attēlots kā virkne, vesela skaitļa veidā. Mēs parasti to darām, jo mēs varam strādāt ar plašu elastīgu darbību kopumu, izmantojot virknes. Metode, ko parasti izmanto, lai Java pārveidotu virkni par veselu skaitli, ir parseInt () no Stīgu klase .
Šajā rakstā mēs redzēsim, kā Java pārvērst virkni par int.

Programma Java virknes konvertēšanai uz int
Ņemsim uzreiz piemēru, lai pierastu pie darba metodes 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);> >}> }> |
>
>Izvade
20 20 -20 32 11670324>
parseInt() metode Java valodā
Šai metodei ir divi varianti:
- parseInt(virknes): Šī funkcija parsē virknes argumentu kā veselu decimālo skaitli ar zīmi.
- parseInt(virkne s, int radix): Šī funkcija parsē virknes argumentu kā veselu skaitli ar zīmi otrajā argumentā norādītajā radiksā.
ParseInt sintakse
public static int parseInt(String str); public static int parseInt(String str, int radix);>
Parametri
- str: S tring, kas jāpārvērš par veselu skaitli.
- radix: tiek izmantots, kamēr tiek parsēta virkne.
Atgriešanas veids
- Abas metodes virkni pārvērš vesela skaitļa ekvivalentā. Vienīgā atšķirība ir parametra radix. Pirmo metodi var uzskatīt ar radix = 10 (Decimal).
Izņēmums Izmests
- NumberFormatException tiek izmests ar šo metodi, ja rodas kāda no tālāk minētajām situācijām.
Atcerieties dažus galvenos punktus, kas saistīti ar abiem variantiem:
ascii tabula c
- Virkne var būt nulles vai nulles garuma
- Virknes attēlotā vērtība nav int tipa vērtība
- Īpaši funkcijas parseInt(String s, int radix) variantam:
- Otrais arguments ir mazāks par Character.MIN_RADIX vai lielāks par Character.MAX_RADIX
- Neviena virknes rakstzīme nav norādītā skaitļa cipars, izņemot to, ka pirmā rakstzīme var būt mīnusa zīme “-” ('u002D') vai pluszīme '+' ('u002B'), ja virkne ir garāks par 1. garumu
- Ja jūsu virknei ir sākuma nulles, metode parseInt() tās ignorēs.
Gadījumi parseInt() metode
Ņemsim nejaušu koda fragmentu, lai labāk izprastu ilustrācijas.
1. gadījums: parseInt(20, 16)
atgriež 32 , (2)*16^1 + (0)*16^0 = 32
2. gadījums: parseInt(2147483648, 10)
izmet NumberFormatException
3. gadījums: parseInt(99, 8)
izmet NumberFormatException
Iemesls: 9 nav pieņemts oktālo skaitļu sistēmas cipars4. gadījums: parseInt(geeks, 28)
izmet NumberFormatException
5. gadījums: parseInt(geeks, 29)
atgriež 11670324, Iemesls: Ciparu sistēmā ar bāzi 29 var būt cipari no 0 līdz 9, kam seko rakstzīmes a,b,c… līdz s
6. gadījums: parseInt(geeksforgeeks, 29)
izmet NumberFormatException kā Iemesls: rezultāts nav vesels skaitlis.
Skaitļu formāts ParseInt() metodes izņēmumi
Izņēmumi, ko izraisa tālāk minētā metode 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);> >}> }> |
>
>
Izvade

Līdzīgi mēs varam pārvērst virkni uz jebkuru citu primitīvu datu tipu:
- parseLong(): parsē virkni uz Long
- parseDouble(): parsē virkni dubultā Ja mēs vēlamies pārvērst virkni par veselu skaitli neizmantojot parseInt() , mēs varam izmantot valueOf() metodi . Tam ir arī divi varianti, kas līdzīgi parseInt()
- Atšķirība starp parseInt() un valueOf(): parseInt() parsē virkni un atgriež primitīvo veselā skaitļa tipu. Tomēr valueOf() atgriež veselu skaitļu objektu.
Piezīme: valueOf() izmanto parseInt() iekšēji, lai pārvērstu par veselu skaitli.
Vēl viena pieeja virknes pārvēršanai par veselu skaitli
Papildus Java metodei parseInt() ir vēl viena metode virknes pārvēršanai par veselu skaitli. Tālāk ir norādīta valueOf() metodes ieviešana, kas ir
valueOf() metode
Metode Integer.valueOf() pārvērš virkni par veselu skaitļa objektu. Ļaujiet mums to saprast ar piemēru.
Zemāk ir aprakstīta iepriekš minētās metodes ieviešana:
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);> >}> }> |
>
>Izvade
20 20 -20 32 11670324>