I Java, medan vi arbetar på strängar, finns det tillfällen då vi behöver konvertera ett tal representerat som en sträng till en heltalstyp. Vi brukar göra detta eftersom vi kan arbeta med en bred flexibel uppsättning operationer över strängar. Metoden som vanligtvis används för att konvertera sträng till heltal i Java är parseInt () av Strängklass .
I den här artikeln kommer vi att se hur man konverterar en sträng till int i Java.

Program för att konvertera Java String till int
Låt oss ta ett exempel direkt för att vänja oss vid arbetsmetoden parseInt() :
Java
sortering tuplar python
// 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);> >}> }> |
>
slf4j vs log4j
>Produktion
20 20 -20 32 11670324>
parseInt() Metod i Java
Det finns två varianter av denna metod:
- parseInt(String s): Denna funktion analyserar strängargumentet som ett decimalt heltal med tecken.
- parseInt(String s, int radix): Den här funktionen analyserar strängargumentet som ett heltal med tecken i den radix som anges av det andra argumentet.
Syntax för parseInt
public static int parseInt(String str); public static int parseInt(String str, int radix);>
Parametrar
- str: S tring som måste konverteras till ett heltal.
- radix: används medan strängen tolkas.
Returtyp
- Båda metoderna konverterar strängen till dess heltalsekvivalent. Den enda skillnaden är parametern radix. Den första metoden kan övervägas med radix = 10 (decimal).
Undantag kastat
- NumberFormatException kastas av den här metoden om någon av följande situationer inträffar.
Kom ihåg vissa nyckelpunkter associerade med båda varianterna:
- Strängen kan vara noll eller noll
- Värdet som representeras av strängen är inte ett värde av typen int
- Specifikt för varianten parseInt(String s, int radix) av funktionen:
- Det andra argumentets radix är antingen mindre än Character.MIN_RADIX eller större än Character.MAX_RADIX
- Alla tecken i strängen är inte en siffra i den angivna radien, förutom att det första tecknet kan vara ett minustecken '-' ('u002D') eller plustecken '+' ('u002B') förutsatt att strängen är längre än längd 1
- Om din sträng har inledande nollor, kommer metoden parseInt() att ignorera dem.
Fall av parseInt() metod
Låt oss ta ett slumpmässigt kodavsnitt för att förstå illustrationerna bättre.
Fall 1: parseInt(20, 16)
returnerar 32 , (2)*16^1 + (0)*16^0 = 32
Fall 2: parseInt(2147483648, 10)
kastar ett NumberFormatException
Fall 3: parseInt(99, 8)
kastar ett NumberFormatException
Anledning: 9 är inte en accepterad siffra i det oktala talsystemetFall 4: parseInt(nördar, 28)
kastar ett NumberFormatException
Fall 5: parseInt(nördar, 29)
returnerar 11670324, Anledning: Talsystem med bas 29 kan ha siffrorna 0-9 följt av tecknen a,b,c... upp till s
Fall 6: parseInt(geeksforgeeks, 29)
kastar ett NumberFormatException som Anledning: resultatet är inte ett heltal.
Number Format Undantag för parseInt()-metoden
Undantag orsakade av parseInt() Metoden som nämns nedan:
Java
tostring-metoden i java
binära trädtyper
// 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);> >}> }> |
>
>
Produktion

På liknande sätt kan vi konvertera strängen till vilken annan primitiv datatyp som helst:
- parseLong(): analyserar strängen till lång
- parseDouble(): analyserar strängen till dubbel Om vi vill konvertera strängen till ett heltal utan att använda parseInt() , vi kan använda värdet av() metod . Den har också två varianter som liknar parseInt()
- Skillnaden mellan parseInt() och valueOf(): parseInt() analyserar strängen och returnerar den primitiva heltalstypen. Men valueOf() returnerar ett heltalsobjekt.
Notera: valueOf() använder parseInt() internt för att konvertera till heltal.
En annan metod för att konvertera en sträng till heltal
Förutom metoden parseInt() i Java finns det en annan metod för konvertering av sträng till heltal. Nedan är implementeringen av metoden valueOf() dvs
valueOf() metod
Metoden Integer.valueOf() konverterar en sträng till ett heltalsobjekt. Låt oss förstå detta med ett exempel.
Nedan är implementeringen av ovanstående metod:
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);> >}> }> |
index för java
>
>Produktion
20 20 -20 32 11670324>