Kaip konvertuoti eilutę į int Java kalboje
Jei norite konvertuoti 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 konversija Java kalboje?
Java stygos yra junginiai, kurie gali sudaryti simbolius, skaitmenis ir specialiuosius simbolius. Java programavimo kalboje skaitmenys, kurie yra sveikieji skaičiai, gali būti išsaugoti kaip int. Jei turite eilutę, kurioje yra tik sveiki skaičiai, galite ją konvertuoti į Java primityvų int, kuris reiškia sveiką skaičių. Nors yra 5 skirtingi būdai konvertuoti Java int į eilutę, yra tik 2 pagrindiniai būdai konvertuoti Java eilutę į int. Tai yra Integer parseInt() ir Integer.valueOf(). Toliau paaiškinsime, kaip šie metodai veikia, naudodami praktinius pavyzdžius.
Atkreipkite dėmesį, kad šis konvertavimas veiks tik tuo atveju, jei atitinkamas skaičius yra nuo -2147483648 iki 2147483647. Didesni ar mažesni skaičiai negali būti pateikiami naudojant int duomenų tipą.
Kaip naudoti Integer.parseInt()
parseInt() yra statinis metodas, priklausantis Integer klasei ir grąžinantis sudėtingo duomenų tipo stygos skaitinę vertę primityvaus duomenų tipo int forma. Jo sintaksė atrodo taip:
static int parseInt(String s)javaPažvelkime į pavyzdį. Pirmiausia inicijuosime eilutę, kurioje yra tik reikšmė „7312“ ir nieko daugiau. Tada konvertuosime tą Java eilutę į int naudodami parseInt(), ir galiausiai 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 rezultatas:
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 pranešimas:
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)javaKaip naudoti Integer.valueOf()
Integer.valueOf()dar vienas Integer klasės metodas. Jis išveda dešimtainį stygos objekto interpretavimą, todėl taip pat yra naudingas konvertuojant Java stygą į int. Jo sintaksė atrodo taip:
static int valueOf(int a)javaPateiksime 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);
}
}javaVėl gausite tokį rezultatą:
The numerical value of the string is: 7312javaJei eilutėje yra kas nors kita nei sveikasis skaičius, gausime tą pačią klaidos žinutę, kaip ir aukščiau.