logo

Eilutę į int Java

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.

Java 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:

  1. parseInt(String s): Ši funkcija analizuoja eilutės argumentą kaip dešimtainį sveikąjį skaičių su ženklu.
  2. 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:

  1. Eilutė gali būti nulinė arba nulinio ilgio
  2. Eilutės pavaizduota reikšmė nėra int tipo reikšmė
  3. 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
  4. 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 skaitmuo

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

  1. parseLong(): išanalizuoja eilutę į Long
  2. 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()
  3. 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>