Jei norite kon­ver­tuo­ti eilutę į int Java kalboje, turite dvi paprastas galimybes – parseInt() ir valueOf(). Tačiau abi šios galimybės veikia tik tuo atveju, jei eilutė yra sudaryta tik iš sveikų skaičių ir neviršija int duomenų tipo vertės diapazono.

Kas yra stygos į int kon­ver­si­ja Java kalboje?

Java stygos yra junginiai, kurie gali sudaryti simbolius, skait­me­nis ir spe­cia­liuo­sius simbolius. Java prog­ra­ma­vi­mo kalboje skait­me­nys, kurie yra sveikieji skaičiai, gali būti išsaugoti kaip int. Jei turite eilutę, kurioje yra tik sveiki skaičiai, galite ją kon­ver­tuo­ti į Java primityvų int, kuris reiškia sveiką skaičių. Nors yra 5 skirtingi būdai kon­ver­tuo­ti Java int į eilutę, yra tik 2 pag­rin­di­niai būdai kon­ver­tuo­ti Java eilutę į int. Tai yra Integer parseInt() ir Integer.valueOf(). Toliau pa­aiš­kin­si­me, kaip šie metodai veikia, naudodami prak­ti­nius pa­vyz­džius.

Note

At­kreip­ki­te dėmesį, kad šis kon­ver­ta­vi­mas veiks tik tuo atveju, jei ati­tin­ka­mas skaičius yra nuo -2147483648 iki 2147483647. Didesni ar mažesni skaičiai negali būti pa­tei­kia­mi naudojant int duomenų tipą.

Kaip naudoti Integer.parseInt()

parseInt() yra statinis metodas, pri­klau­san­tis Integer klasei ir grą­ži­nan­tis sudėtingo duomenų tipo stygos skaitinę vertę pri­mi­ty­vaus duomenų tipo int forma. Jo sintaksė atrodo taip:

static int parseInt(String s)
java

Pa­žvel­ki­me į pavyzdį. Pir­miau­sia ini­ci­juo­si­me eilutę, kurioje yra tik reikšmė „7312“ ir nieko daugiau. Tada kon­ver­tuo­si­me tą Java eilutę į int naudodami parseInt(), ir ga­liau­siai išvesime rezultatą naudodami Java komandą System.out.println. Kodas atrodys taip:

public class Main {
	public static void main(String args[]) {
		String str = "7312";
		int number = Integer.parseInt(str);
		System.out.println("The numerical value of the string is: " + number);
	}
}
java

Štai re­zul­ta­tas:

The numerical value of the string is: 7312
``
However, this only works if the string exclusively **contains whole numbers**. If it contains anything else, you’ll get an error message:
```java
public class Main {
	public static void main(String args[]) {
		String str = "The number is 7312";
		int number = Integer.parseInt(str);
		System.out.println("The number from the string is: " + number);
	}
}
java

Štai klaidos pra­ne­ši­mas:

Exception in thread "main" java.lang.NumberFormatException: For input string: " The number is 7312"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
at java.base/java.lang.Integer.parseInt(Integer.java:661)
at java.base/java.lang.Integer.parseInt(Integer.java:777)
at Main.main(Main.java:4)
java

Kaip naudoti Integer.valueOf()

Integer.valueOf()dar vienas Integer klasės metodas. Jis išveda de­šim­tai­nį stygos objekto in­ter­pre­ta­vi­mą, todėl taip pat yra naudingas kon­ver­tuo­jant Java stygą į int. Jo sintaksė atrodo taip:

static int valueOf(int a)
java

Pa­teik­si­me paprastą pavyzdį:

public class Main {
	public static void main(String args[]) {
		String newString = "7312";
		int parNumber = Integer.valueOf(newString);
		System.out.println("The numerical value of the string is: " + parNumber);
	}
}
java

Vėl gausite tokį rezultatą:

The numerical value of the string is: 7312
java

Jei eilutėje yra kas nors kita nei sveikasis skaičius, gausime tą pačią klaidos žinutę, kaip ir aukščiau.

Go to Main Menu