Istnieją dwa sposoby konwersji ciągu znaków na liczbę całkowitą w Javie:
- Ciąg do liczby całkowitej za pomocą Integer.parseInt ()
- Ciąg do liczby całkowitej za pomocą Integer.valueOf ()
String strTest = “100”;Spróbuj wykonać jakąś operację arytmetyczną, taką jak dzielenie przez 4 - to natychmiast pokazuje błąd kompilacji.
class StrConvert{public static void main(String []args){String strTest = "100";System.out.println("Using String: + (strTest/4));}}
Wynik:
/StrConvert.java:4: error: bad operand types for binary operator '/'System.out.println("Using String: + (strTest/4));
Dlatego musisz przekonwertować String na int, zanim wykonasz na nim operacje numeryczne
Przykład 1: Konwertuj ciąg na liczbę całkowitą za pomocą Integer.parseInt ()
Składnia metody parseInt w następujący sposób:
int= Integer.parseInt( );
Przekaż zmienną łańcuchową jako argument.
Spowoduje to przekonwertowanie Java String na java Integer i zapisanie go w określonej zmiennej całkowitej.
Sprawdź poniższy fragment kodu-
class StrConvert{public static void main(String []args){String strTest = "100";int iTest = Integer.parseInt(strTest);System.out.println("Actual String:"+ strTest);System.out.println("Converted to Int: + iTest);//This will now show some arithmetic operationSystem.out.println("Arithmetic Operation on Int: " + (iTest/4));}}
Wynik:
Actual String:100Converted to Int:100Arithmetic Operation on Int: 25
Przykład 2: Konwertuj ciąg na liczbę całkowitą za pomocą Integer.valueOf ()
Metoda Integer.valueOf () jest również używana do konwersji ciągu znaków na liczbę całkowitą w Javie.
Poniżej znajduje się przykładowy kod ilustrujący proces korzystania z metody Integer.valueOf ():
public class StrConvert{public static void main(String []args){String strTest = "100";//Convert the String to Integer using Integer.valueOfint iTest = Integer.valueOf(strTest);System.out.println("Actual String:"+ strTest);System.out.println("Converted to Int: + iTest);//This will now show some arithmetic operationSystem.out.println("Arithmetic Operation on Int: + (iTest/4));}}
Wynik:
Actual String:100Converted to Int:100Arithmetic Operation on Int:25
NumberFormatException
NumberFormatException jest generowany w przypadku próby przeanalizowania nieprawidłowego ciągu liczbowego. Na przykład ciągu „Guru99” nie można zamienić na liczbę całkowitą.
Przykład:
public class StrConvert{public static void main(String []args){String strTest = "Guru99";int iTest = Integer.valueOf(strTest);System.out.println("Actual String:"+ strTest);System.out.println("Converted to Int: + iTest);}}
Powyższy przykład podaje następujący wyjątek w danych wyjściowych:
Exception in thread "main" java.lang.NumberFormatException: For input string: "Guru99"