Kako pretvoriti niz v int v Javi
Če želite v Javi pretvoriti niz v int, imate na voljo dve preprosti možnosti – parseInt() in valueOf(). Vendar obe možnosti delujeta le, če niz vsebuje izključno cela števila in ne presega vrednostnega obsega podatkovnega tipa int.
Kaj je pretvorba niza v celo število v Javi?
Java nizi so verige, ki lahko vsebujejo črke, številke in posebne znake. V programskem jeziku Java se števke v obliki celih vrednosti lahko shranijo kot int. Če imate niz, ki vsebuje samo cela števila, ga lahko pretvorite v Java primitiv int, ki pomeni celo število. Medtem ko obstaja 5 različnih načinov za pretvorbo Java int v niz, obstajata le 2 glavna načina za pretvorbo Java niza v int. To sta Integer parseInt() in Integer.valueOf(). Spodaj bomo s praktičnimi primeri pojasnili, kako delujejo te metode.
Upoštevajte, da bo ta pretvorba delovala le, če je zadevno število med -2147483648 in 2147483647. Številke, ki so večje ali manjše, ni mogoče predstaviti z uporabo podatkovnega tipa int.
Kako uporabljati Integer.parseInt()
parseInt() je statična metoda, ki pripada razredu Integer in vrne numerično vrednost kompleksnega podatkovnega tipa string v obliki primitivnega podatkovnega tipa int. Njena sintaksa je naslednja:
static int parseInt(String s)javaPoglejmo primer. Najprej bomo inicializirali niz, ki vsebuje vrednost „7312“ in nič drugega. Nato bomo ta Java niz pretvorili v int z uporabo parseInt() in na koncu izpisali rezultat z uporabo Java ukaza System.out.println. Koda bo izgledala takole:
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);
}
}javaTukaj je izhod:
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);
}
}javaTukaj je sporočilo o napaki:
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)javaKako uporabljati Integer.valueOf()
Integer.valueOf()še ena metoda iz razreda Integer. Izpiše decimalno interpretacijo niza znakov in je zato uporabna tudi za pretvorbo niza znakov Java v celo število. Njena sintaksa je naslednja:
static int valueOf(int a)javaPoglejmo preprost primer:
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);
}
}javaPonovno boste dobili naslednji rezultat:
The numerical value of the string is: 7312javaČe niz vsebuje karkoli razen celega števila, bomo dobili isto sporočilo o napaki kot zgoraj.