how convert java string int tutorial with examples
Deze tutorial legt de manieren uit om Java String naar Integer te converteren met behulp van de methoden Integer.parseInt en Integer.ValueOf met codevoorbeelden:
We behandelen de volgende twee statische methoden van de Integer-klasse die worden gebruikt om Java String naar int-waarde te converteren:
- Geheel getal.parseInt ()
- Integer.valueOf ()
Bekijk hier ALLE Java-tutorials
Wat je leert:
- Java String To Int Conversion
- Gevolgtrekking
Java String To Int Conversion
Laten we eens kijken naar een scenario waarin we een soort rekenkundige bewerking op een getal moeten uitvoeren, maar deze getalwaarde is beschikbaar in de vorm van een string. Stel dat het nummer wordt opgehaald als een tekst die afkomstig is uit het tekstveld van een webpagina of een tekstgedeelte van een webpagina.
In een dergelijk scenario moeten we deze String eerst converteren om getallen in een geheel getal op te halen.
Bijvoorbeeld, Laten we eens kijken naar een scenario waarin we twee getallen willen optellen. Deze waarden worden als tekst van uw webpagina opgehaald als '300' en '200' en we willen een rekenkundige bewerking uitvoeren op deze getallen.
Laten we dit begrijpen met behulp van een voorbeeldcode. Hier proberen we 2 getallen '300' en '200' toe te voegen en deze toe te wijzen aan variabele 'c'. Wanneer we ‘c’ afdrukken, verwachten we de uitvoer op een console als ‘500’.
Maar in het bovenstaande programma is de daadwerkelijke uitvoer die op de console wordt afgedrukt
‘Variabele c-waarde -> 300200’
de beste gratis muziekdownloader-app voor Android
Wat zou de reden kunnen zijn om deze output af te drukken?
Het antwoord hierop is dat wanneer we a + b deden, het de ‘+’ operator als aaneenschakeling gebruikt. Dus in c = a + b; Java voegt String a en b samen, d.w.z. het voegt twee strings '300' en '200' en afdrukken samen '300200'.
Dit gebeurt dus wanneer we proberen twee strings toe te voegen:
Dus, wat moet er gebeuren als we deze twee getallen willen optellen?
Hiervoor moeten we deze strings eerst naar getallen converteren en vervolgens een rekenkundige bewerking op deze getallen uitvoeren. Om Java String naar int te converteren, kunnen we de volgende methoden gebruiken die worden geboden door de Java Integer-klasse.
- Geheel getal.parseInt ()
- Integer.valueOf ()
Laten we deze methoden een voor een in detail bekijken.
# 1) Java Integer.parseInt () methode gebruiken
parseInt () methode wordt geleverd door de klasse Integer klasse. De klasse Integer wordt de klasse Wrapper genoemd omdat deze een waarde van het primitieve type int in een object verpakt.
Laten we eens kijken naar de onderstaande methode-handtekening:
public static int parseInt (String str) gooit NumberFormatException
public static Integer valueOf (String str) genereert NumberFormatException
Dit is een statische methode die wordt geleverd door de klasse Integer en die een object retourneert van een klasse Integer met een waarde die wordt gespecificeerd door het String-object dat eraan wordt doorgegeven. Hier wordt de interpretatie van het doorgegeven argument gedaan als een decimaal geheel getal met teken.
Dit is hetzelfde als het argument dat is doorgegeven aan de methode parseInt (java.lang.String). Het resultaat dat wordt geretourneerd, is een integer-klasseobject dat de gehele waarde vertegenwoordigt die is opgegeven door de String. In eenvoudige bewoordingen retourneert de methode valueOf () een geheel getal-object dat gelijk is aan de waarde van
new Integer (Integer.parseInt (str))
Hier is de ‘str’ parameter een String die de integer-representatie bevat en de methode retourneert een Integer-object met de waarde die wordt vertegenwoordigd door de ‘str’ in de methode.
Deze methode genereert een uitzondering NumberFormatException als de String geen parseerbaar geheel getal bevat.
Integer.parseInt () Methode voor tekenreeks zonder tekens
Laten we proberen te begrijpen hoe we deze methode Integer.parseInt () kunnen gebruiken in hetzelfde Java-programma dat we in ons eerdere voorbeeld hebben gezien.
Hier is het programma-uitvoer:
Variabele x-waarde -> 300
Variabele en waarde -> 200
Variabele c-waarde -> 500
Nu zijn we in staat om de gewenste uitvoer te krijgen, d.w.z. de som van de twee getallen die als tekst worden weergegeven door deze om te zetten in een int-waarde en vervolgens een extra bewerking op deze getallen uit te voeren.
Integer.parseInt () Methode voor tekenreeks met tekens
Zoals te zien is in de beschrijving van de bovenstaande methode Integer.parseInt (), mag het eerste teken een ASCII-minteken '-' zijn voor de indicatie van een negatieve waarde of een ASCII-plusteken '+' voor de indicatie van een positieve waarde. Laten we hetzelfde programma proberen met een negatieve waarde.
Laten we het voorbeeldprogramma eens bekijken met waarden en tekens zoals ‘+’ en ‘-‘.
We gebruiken de ondertekende String-waarden zoals '+75' en '-75000' en parseren die naar gehele getallen en vergelijken om een groter getal tussen deze 2 getallen te vinden:
Hier is het programma-uitvoer:
Variabele x-waarde -> 75
Variabele en waarde -> - 75000
Het grotere aantal is -> 75
Integer.parseInt () Methode voor tekenreeks met voorloopnullen
In sommige gevallen moeten we ook rekenkundige bewerkingen uitvoeren op de getallen met de voorloopnullen. Laten we eens kijken hoe String met een getal met voorloopnullen naar een int-waarde kan worden geconverteerd met behulp van de methode Integer.parseInt ().
Bijvoorbeeld, in sommige softwaresystemen voor financiële domeinen is het een standaardformaat om een rekeningnummer of bedrag met voorloopnullen te hebben. Net als in het volgende voorbeeldprogramma berekenen we het vervalbedrag van het vaste stortingsbedrag met behulp van het rentetarief en het vaste stortingsbedrag.
Hier wordt het bedrag gespecificeerd met voorloopnullen. Deze String-waarden met voorloopnullen worden geparseerd tot gehele getallen met Integer.
parseInt () methode zoals te zien in het onderstaande programma:
Hier is het programma-uitvoer:
U heeft een vast stortingsbedrag -> 10000 INR
U hebt een vast deposito-rentetarief -> 6% INR
Uw vaste stortingsbedrag op de vervaldag is -> 00010600 INR
Dus in het bovenstaande voorbeeldprogramma geven we ‘00010000’ door aan de methode parseInt () en drukken we de waarde af.
We zullen de waarde op de console zien verschijnen als je een vast stortingsbedrag hebt -> 10000 INR
Hier worden tijdens het converteren naar een geheel getal de voorloopnullen verwijderd.
Vervolgens hebben we het vaste looptijdbedrag van de storting berekend als een geheel getal van ‘10600’ en hebben we de resultaatwaarde opgemaakt met de indelingsspecificatie% 08 om voorloopnullen op te halen.
Wanneer we de waarde van opgemaakte String afdrukken,
We kunnen zien dat de uitvoer op de console wordt afgedrukt als Uw vaste stortingsbedrag op de vervaldag is -> 00010600 INR
NumberFormatException
In de beschrijving van Geheel getal.parseInt () methode, hebben we ook een uitzondering gezien die wordt gegenereerd door de methode parseInt (), d.w.z. NumberFormatException.
Deze methode genereert een uitzondering, d.w.z. NumberFormatException als de String geen parseerbaar geheel getal bevat.
Laten we dus eens kijken naar het scenario waarin deze uitzondering wordt gegenereerd.
Laten we het volgende voorbeeldprogramma bekijken om dit scenario te begrijpen. Dit programma vraagt de gebruiker om het gescoorde percentage in te voeren en geeft het behaalde cijfer terug. Hiervoor parseert het de String-waarde die door de gebruiker is ingevoerd tot een geheel getal.
Hier is het programma-uitvoer:
Laten we proberen met twee verschillende invoerwaarden die door de gebruiker zijn ingevoerd.
1. Met geldige gehele waarde
Voer het percentage in dat u heeft gescoord: 82
De procentuele waarde is -> 82
U bent met onderscheiding geslaagd
2. Met InValid integer waarde
Voer het percentage in dat u heeft gescoord: 85a
Uitzondering in thread 'main' java.lang.NumberFormatException: Voor invoertekenreeks: '85a'
op java.lang.NumberFormatException.forInputString (onbekende bron)
op java.lang.Integer.parseInt (onbekende bron)
op java.lang.Integer.parseInt (onbekende bron)
op com.softwaretestinghelp.StringIntDemo3.main (StringIntDemo3.java:26)
Dus, zoals te zien in de programma-uitvoer,
# 1) Wanneer de gebruiker een geldige waarde invoert, d.w.z. 82 als invoer, wordt de uitvoer weergegeven op de console als volgt:
De procentuele waarde is -> 82
U bent met onderscheiding geslaagd
# 2) Wanneer de gebruiker een ongeldige waarde invoert, d.w.z. 85a als invoer, wordt de uitvoer weergegeven op de console als volgt:
Voer het percentage in dat u heeft gescoord: 85a
Uitzondering in thread 'main' java.lang.NumberFormatException: Voor invoertekenreeks: '85a'
op java.lang.NumberFormatException.forInputString (onbekende bron)
op java.lang.Integer.parseInt (onbekende bron)
op java.lang.Integer.parseInt (onbekende bron)
op com.softwaretestinghelp.StringIntDemo3.main (StringIntDemo3.java:26)
java.lang.NumberFormatException wordt gegenereerd tijdens het parseren van 85a in de methode Integer.parseInt () omdat '85a' teken 'a' heeft dat geen decimaal cijfer is, noch ASCII-teken '+' of '-' dat wil zeggen '85a' is niet de parseerbare geheel getal voor de methode Integer.parseInt ().
Dus dit was ongeveer een van de manieren om Java String naar int te converteren. Laten we eens kijken naar de andere manier waarop Java String converteert naar int, d.w.z. met behulp van de methode Integer.valueOf ().
# 2) Integer gebruiken. valueOf () - methode
valueOf () methode is ook een geheel getal klasse statische methode.
Laten we eens kijken naar de onderstaande methode-handtekening:
public static int parseInt (String str) gooit NumberFormatException
Dit is een statische methode die wordt geleverd door de klasse Integer en die een object retourneert van een classInteger met een waarde die wordt gespecificeerd door het String-object dat eraan wordt doorgegeven. Hier wordt de interpretatie van het doorgegeven argument gedaan als een decimaal geheel getal met teken.
Dit is hetzelfde als het argument dat is doorgegeven aan de methode parseInt (java.lang.String). Het resultaat is dat een Integer-klasseobject de integerwaarde vertegenwoordigt die is opgegeven door de String. In eenvoudige bewoordingen retourneert de methode valueOf () een geheel getal-object dat gelijk is aan de waarde van nieuw Geheel getal (Integer.parseInt (str))
Hier is de ‘str’ parameter een String die de integer-representatie bevat en de methode retourneert een Integer-object met de waarde die wordt vertegenwoordigd door de ‘str’ in de methode. Deze methode genereert de uitzondering NumberFormatException als de String geen parseerbaar geheel getal bevat.
Laten we eens kijken hoe we deze Integer.valueOf () - methode kunnen gebruiken.
Hieronder is een voorbeeldprogramma weergegeven. Deze voorbeeldcode berekent de gemiddelde temperatuur van 3 dagen van de week. Hier, om de temperatuur om te rekenen, worden de waarden toegewezen als een String-waarde naar een geheel getal. Laten we voor deze conversie van tekenreeks naar geheel getal de methode Integer.valueOf () proberen.
Hier is het programma-uitvoer:
Zondag Temperatuurwaarde -> - 2
Maandag Temperatuurwaarde -> 4
Dinsdag Temperatuurwaarde -> 6
Gemiddelde temperatuur gedurende 3 dagen -> 2
Oefening: Als we String-waarden kunnen converteren zoals hierboven te zien is, kunnen we Strings proberen met een decimale punt
Bijvoorbeeld, kunnen we in plaats van '-2' proberen '-2.5'?
Probeer de bovenstaande voorbeeldcode met parseInt () of valueOf () methode die String sundayTemperature = “-2.5” toewijst;
Wenk: Lees de handtekening van de methode opnieuw over de parseerbare waarden.
Antwoord: Als u het bovenstaande voorbeeldprogramma probeert met String zondagTemperatuur = '-2.5, het zal NumberFormatException genereren als waarden van het String-argument voor parseInt () en valueOf () zijn ASCII plus‘ + ’of min’ - ‘teken en decimale cijfers.
Het is dus duidelijk dat ‘.’ Ongeldig is. Aangezien deze twee methoden worden geleverd door de klasse Integer, zijn drijvende-kommawaarden zoals '2.5' niet-parseerbare waarden voor deze methoden.
We hebben dus beide methoden van de klasse Integer besproken voor het converteren van een String naar int in Java.
Veelgestelde vragen over het converteren van string naar Int in Java
Q # 1) Hoe kan ik String naar int in Java converteren?
Antwoord: In Java kan String naar int-conversie op twee manieren worden gedaan, d.w.z. met behulp van de volgende methoden van integer-klassemethoden:
- Geheel getal.parseInt ()
- Integer.valueOf ()
Vraag 2) Hoe ontleed je een geheel getal?
Antwoord: De klasse Integer biedt statische methoden die worden gebruikt om de gehele waarde te parseren om String naar een int-waarde te converteren, d.w.z. parseInt () en valueOf ().
V # 3) Wat is parseInt ()?
Antwoord: parseInt () is een statische methode die wordt aangeboden door de klasse Integer en die wordt gebruikt om Java String om te zetten in een int-waarde, waarbij de String-waarde wordt doorgegeven als een argument en de integer-waarde wordt geretourneerd door de methode.
Bijvoorbeeld, int x = Geheel getal. parseInt ('100') retourneert int waarde 100
V # 4) Wat is parseren in Java?
Antwoord: Parseren in Java is in feite de conversie van de waarde van een object van het ene gegevenstype naar een ander gegevenstype. Bijvoorbeeld, Integer.valueOf (str) converteert ‘str’, dat een object van het gegevenstype String is, naar een integer-gegevenstype-object.
Gevolgtrekking
In deze zelfstudie hebben we onderzocht hoe String naar int in Java kan worden geconverteerd met behulp van de volgende statische methoden van de wrapper-klasse Integer:
- Geheel getal.parseInt ()
- Integer.valueOf ()
We hebben ook het geval behandeld waarin NumberFormatException wordt gegooid voor een ongeldige cijferreeks.
Verder lezen = >> 8 Methoden om integer naar Sting in Java te converteren
Ontdek hier de eenvoudige Java-trainingsserie
Aanbevolen literatuur
- Java String met String Buffer en String Builder Tutorial
- Zelfstudie voor Java String | Java String-methoden met voorbeelden
- Java Reverse String: zelfstudie met programmeervoorbeelden
- Java String bevat () Method Tutorial met voorbeelden
- Java String length () Methode met voorbeelden
- JAVA-zelfstudie voor beginners: 100+ praktische Java-videotutorials
- Java Integer en Java BigInteger-klasse met voorbeelden
- Java substring () -methode - zelfstudie met voorbeelden