Ja vēlaties pārvērst virkni int Java, jums ir divas vien­kār­šas iespējas – parseInt() un valueOf(). Tomēr abas šīs iespējas darbojas tikai tad, ja virkne satur tikai veselos skaitļus un ne­pār­sniedz int datu tipa vērtību diapazonu.

Kas ir string uz int kon­ver­tē­ša­na Java?

Java virknes ir sa­vie­no­ju­mi, kas var saturēt burtus, ciparus un īpašos simbolus. Java prog­ram­mē­ša­nas valodā ciparus veselo skaitļu veidā var saglabāt kā int. Ja jums ir virkne, kas satur tikai veselos skaitļus, jūs varat to konvertēt Java primitīvā int, kas nozīmē veselo skaitli. Lai gan ir 5 dažādi veidi, kā konvertēt Java int uz virkni, ir tikai 2 galvenie veidi, kā konvertēt Java virkni uz int. Tie ir Integer parseInt() un Integer.valueOf(). Zemāk mēs iz­skaid­ro­sim, kā šīs metodes darbojas, iz­man­to­jot prak­tis­kus piemērus.

Note

Ņemiet vērā, ka šī kon­ver­tē­ša­na darbosies tikai tad, ja at­tie­cī­gais skaitlis ir no -2147483648 līdz 2147483647. Skaitļus, kas ir lielāki vai mazāki, nevar attēlot, iz­man­to­jot datu tipu int.

Kā lietot Integer.parseInt()

parseInt() ir statiska metode, kas pieder Integer klasei un atgriež sarežģīta datu tipa string skait­lis­ko vērtību primitīvā datu tipa int formā. Tās sintakse izskatās šādi:

static int parseInt(String s)
java

Ap­ska­tī­sim piemēru. Vispirms ini­cia­li­zē­sim virkni, kas satur vērtību „7312” un neko citu. Tad pārvēršot šo Java virkni int, iz­man­to­jot parseInt(), un vis­bei­dzot izvadīsim rezultātu, iz­man­to­jot Java komandu System.out.println. Kods iz­ska­tī­sies šādi:

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

Šeit ir rezultāts:

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

Šeit ir kļūdas ziņojums:

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

Kā lietot Integer.valueOf()

Integer.valueOf()vēl viena metode no Integer klases. Tā izvada string objekta decimālo in­ter­pre­tā­ci­ju un tādējādi ir noderīga arī Java string pār­vei­do­ša­nai uz int. Tās sintakse izskatās šādi:

static int valueOf(int a)
java

Pieņemsim vienkāršu piemēru:

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

Jūs atkal iegūsiet šādu rezultātu:

The numerical value of the string is: 7312
java

Ja virkne satur kaut ko citu, izņemot veselu skaitli, mēs saņemsim to pašu kļūdas ziņojumu, kāds bija iepriekš.

Go to Main Menu