- Java convert String[] to int[]
- 5 Answers 5
- Converting Between Numbers and Strings
- Converting Numbers to Strings
- Вопрос-ответ: как в Java правильно конвертировать String в int?
- Обсуждение
- Изучаем преобразование строки в число Java
- Простой пример преобразования “ string to integer” в Java
- Изучаем преобразование строки в число Java - полный пример перевода String в int
- Преобразование строки в число Java - пояснение
- Преобразование строки в число Java- дополнительные замечания
- Преобразование строки в число Java - резюме
- Java: преобразование строки в число и наоборот
- Как преобразовать строку в число в Java?
- Преобразуем строку в число Java: String to byte
- Преобразуем строку в число в Java: String to int
- Как преобразовать число в строку в Java?
- 1. Преобразование int to String в Java:
- 2. Преобразование double to String в Java:
- 3. Преобразуем long to String в Java:
- 4. Преобразуем float to String в Java:
Java convert String[] to int[]
I have a String[], where each element is convertible to an integer. What’s the best way I can convert this to an int[]?
int[] StringArrayToIntArray(String[] s)
5 Answers 5
public static int[] StringArrToIntArr(String[] s) < int[] result = new int[s.length]; for (int i = 0; i < s.length; i++) < result[i] = Integer.parseInt(s[i]); >return result; >
Simply iterate through the string array and convert each element.
Note: If any of your elements fail to parse to an int this method will throw an exception. To keep that from happening each call to Integer.parseInt() should be placed in a try/catch block.
Now that Java’s finally caught up to functional programming, there’s a better answer:
int[] StringArrayToIntArray(String[] stringArray)
return Ints.toArray(Collections2.transform(Arrays.asList(s), new Function() < public Integer apply(String input) < return Integer.valueOf(input); >>);
Admittedly this isn’t the cleanest use ever, but since the Function could be elsewhere declared it might still be cleaner.
This is a simple way to convert a String to an Int.
String str = "15"; int i; i = Integer.parseInt(str);
Here is an example were you to do some math with an User’s input:
int i; String input; i = Integer.parseInt(str); input = JOptionPane.showMessageDialog(null, "Give me a number, and I'll multiply with 2"); JOptionPane.showMessageDialog(null, "The number is: " + i * 2);
Popup: A dialog with an input box that says: Give me a number, and I’ll multiply it with 2.
Popup: The number is: inputNumber * 2
Converting Between Numbers and Strings
Frequently, a program ends up with numeric data in a string objecta value entered by the user, for example.
The Number subclasses that wrap primitive numeric types ( Byte , Integer , Double , Float , Long , and Short ) each provide a class method named valueOf that converts a string to an object of that type. Here is an example, ValueOfDemo , that gets two strings from the command line, converts them to numbers, and performs arithmetic operations on the values:
public class ValueOfDemo < public static void main(String[] args) < // this program requires two // arguments on the command line if (args.length == 2) < // convert strings to numbers float a = (Float.valueOf(args[0])).floatValue(); float b = (Float.valueOf(args[1])).floatValue(); // do some arithmetic System.out.println("a + b = " + (a + b)); System.out.println("a - b = " + (a - b)); System.out.println("a * b = " + (a * b)); System.out.println("a / b = " + (a / b)); System.out.println("a % b = " + (a % b)); >else < System.out.println("This program " + "requires two command-line arguments."); >> >
The following is the output from the program when you use 4.5 and 87.2 for the command-line arguments:
a + b = 91.7 a - b = -82.7 a * b = 392.4 a / b = 0.0516055 a % b = 4.5
Note: Each of the Number subclasses that wrap primitive numeric types also provides a parseXXXX() method (for example, parseFloat() ) that can be used to convert strings to primitive numbers. Since a primitive type is returned instead of an object, the parseFloat() method is more direct than the valueOf() method. For example, in the ValueOfDemo program, we could use:
float a = Float.parseFloat(args[0]); float b = Float.parseFloat(args[1]);
Converting Numbers to Strings
Sometimes you need to convert a number to a string because you need to operate on the value in its string form. There are several easy ways to convert a number to a string:
int i; // Concatenate "i" with an empty string; conversion is handled for you. String s1 = "" + i;
// The valueOf class method. String s2 = String.valueOf(i);
Each of the Number subclasses includes a class method, toString() , that will convert its primitive type to a string. For example:
int i; double d; String s3 = Integer.toString(i); String s4 = Double.toString(d);
The ToStringDemo example uses the toString method to convert a number to a string. The program then uses some string methods to compute the number of digits before and after the decimal point:
public class ToStringDemo < public static void main(String[] args) < double d = 858.48; String s = Double.toString(d); int dot = s.indexOf('.'); System.out.println(dot + " digits " + "before decimal point."); System.out.println( (s.length() - dot - 1) + " digits after decimal point."); >>
The output of this program is:
3 digits before decimal point. 2 digits after decimal point.
Вопрос-ответ: как в Java правильно конвертировать String в int?
int в String — очень просто, и вообще практически любой примитивный тип приводится к String без проблем.
int x = 5; String text = "X lang-java line-numbers">int i = Integer.parseInt (myString);
Если строка, обозначенная переменной myString , является допустимым целым числом, например «1», «200», Java спокойно преобразует её в примитивный тип данных int . Если по какой-либо причине это не удается, подобное действие может вызвать исключение NumberFormatException , поэтому чтобы программа работала корректно для любой строки, нам нужно немного больше кода. Программа, которая демонстрирует метод преобразования Java String в int , управление для возможного NumberFormatException :
public class JavaStringToIntExample < public static void main (String[] args) < // String s = "fred"; // используйте это, если вам нужно протестировать //исключение ниже String s = "100"; try < // именно здесь String преобразуется в int int i = Integer.parseInt(s.trim()); // выведем на экран значение после конвертации System.out.println("int i = " + i); >catch (NumberFormatException nfe) < System.out.println("NumberFormatException: " + nfe.getMessage()); >>
Обсуждение
Когда вы изучите пример выше, вы увидите, что метод Integer.parseInt (s.trim ()) используется для превращения строки s в целое число i , и происходит это в следующей строке кода:
int i = Integer.parseInt (s.trim ())
- Integer.toString (int i) используется для преобразования int в строки Java.
- Если вы хотите преобразовать объект String в объект Integer (а не примитивный класс int ), используйте метод valueOf () для класса Integer вместо метода parseInt () .
- Если вам нужно преобразовать строки в дополнительные примитивные поля Java, используйте такие методы, как Long.parseLong () и ему подобные.
Изучаем преобразование строки в число Java
Часто задаваемый вопрос по типам String/int в Java : Как преобразовать тип String в тип Int ?
Решение : используя метод parseInt класса Java Integer . Метод parseInt переводит тип String в Int , и вызывает исключение NumberFormatException , если строка не может быть приведена к целочисленному значению.
Посмотрим на два коротких примера.
Простой пример преобразования “ string to integer” в Java
Игнорируя исключение, которое может возникнуть, всё, что нужно сделать для перевода String в int , умещается в одну строку кода:
int i = Integer.parseInt(myString);
Если строка, представленная переменной myString , является корректным целым числом, например, “1”, “200”, и т.п., она будет приведена к типу int . Если преобразование окончится неудачей, будет вызвано исключение NumberFormatException . Поэтому ваш код должен быть немного длиннее, чтобы учитывать это, как показано в следующем примере.
Изучаем преобразование строки в число Java - полный пример перевода String в int
Ниже приведен полный код примера программы. Она демонстрирует процесс перевода в Java строки в целое число и обработку возможного исключения NumberFormatException :
public class JavaStringToIntExample< public static void main (String[] args) < // String s = "fred"; // Используйте эту строку для теста исключения String s = "100"; try < // перевод String в int выполняется здесь int i = Integer.parseInt(s.trim()); // выводим значение после преобразования System.out.println("int i = " + i); > catch (NumberFormatException nfe) < System.out.println("NumberFormatException: " + nfe.getMessage()); >>>
Преобразование строки в число Java - пояснение
В приведенном выше примере метод Integer.parseInt(s.trim()) используется для перевода строки s в целое число i в следующей строке кода:
int i = Integer.parseInt(s.trim());
Если попытка преобразования оканчивается неудачей ( например, если вы пытаетесь привести строку fred к целому типу ), то метод parseInt класса Integer вызовет исключение NumberFormatException , которое необходимо обработать в блоке try/catch .
В этом примере на самом деле не нужно использовать метод trim() класса String . Но в реальных программах он понадобится, поэтому я применил его здесь.
Преобразование строки в число Java- дополнительные замечания
Раз уж мы обсуждаем эту тему, вот несколько замечаний о классах String и Integer :
- Метод Integer.toString(int i) используется для преобразования из типа int в класс Java String .
- Для преобразования объекта String в объект Integer используйте метод valueOf() класса Integer вместо parseInt() .
- Если нужно приводить строки к другим примитивным типам Java , например, long , используйте методы Long.parseLong() , и т.п.
Преобразование строки в число Java - резюме
Надеюсь, что этот пример перевода String в int в Java был полезным. Если у вас есть вопросы или замечания, оставляйте их в комментариях.
Сергей Бензенко автор-переводчик статьи « How to convert a Java String to an Int »
Пожалуйста, оставляйте свои отзывы по текущей теме статьи. Мы крайне благодарны вам за ваши комментарии, отклики, дизлайки, подписки, лайки!
Java: преобразование строки в число и наоборот
В некоторых случаях при программировании на Java нам нужно выполнить преобразование строки в число или числа в строку. Это бывает, если мы имеем величину определённого типа и желаем присвоить эту величину переменной другого типа. Преобразования типов в Java осуществляются разными способами, давайте рассмотрим наиболее популярные из них.
Как преобразовать строку в число в Java?
Речь идёт о преобразовании String to Number. Обратите внимание, что в наших примерах, с которыми будем работать, задействована конструкция try-catch. Это нужно нам для обработки ошибки в том случае, когда строка содержит другие символы, кроме чисел либо число, которое выходит за рамки диапазона предельно допустимых значений указанного типа. К примеру, строку «onlyotus» нельзя перевести в тип int либо в другой числовой тип, т. к. при компиляции мы получим ошибку. Для этого нам и нужна конструкция try-catch.
Преобразуем строку в число Java: String to byte
Выполнить преобразование можно следующими способами:
C помощью конструктора:
try < Byte b1 = new Byte("10"); System.out.println(b1); >catch (NumberFormatException e)
С помощью метода valueOf класса Byte:
String str1 = "141"; try < Byte b2 = Byte.valueOf(str1); System.out.println(b2); >catch (NumberFormatException e)
С помощью метода parseByte класса Byte:
byte b = 0; String str2 = "108"; try < b = Byte.parseByte(str2); System.out.println(b); >catch (NumberFormatException e)
А теперь давайте посмотрим, как выглядит перевод строки в массив байтов и обратно в Java:
String str3 = "20150"; byte[] b3 = str3.getBytes(); System.out.println(b3); //массив байтов переводится обратно в строку try < String s = new String(b3, "cp1251"); System.out.println(s); >catch (UnsupportedEncodingException e)
Преобразуем строку в число в Java: String to int
Здесь, в принципе, всё почти то же самое:
Используем конструктор:
try < Integer i1 = new Integer("10948"); System.out.println(i1); >catch (NumberFormatException e)
Используем метод valueOf класса Integer:
String str1 = "1261"; try < Integer i2 = Integer.valueOf(str1); System.out.println(i2); >catch (NumberFormatException e)
Применяем метод parseInt:
int i3 = 0; String str2 = "203955"; try < i3 = Integer.parseInt(str2); System.out.println(i3); >catch (NumberFormatException e)
Аналогично действуем и для других примитивных числовых типов данных в Java: short, long, float, double, меняя соответствующим образом названия классов и методов.
Как преобразовать число в строку в Java?
Теперь поговорим о преобразовании числа в строку (Number to String). Рассмотрим несколько вариантов:
1. Преобразование int to String в Java:
int i = 53; String str = Integer.toString(i); System.out.println(str);2. Преобразование double to String в Java:
double i = 31.6e10; String str = Double.toString(i); System.out.println(str);3. Преобразуем long to String в Java:
long i = 3422222; String str = Long.toString(i); System.out.println(str);4. Преобразуем float to String в Java:
float i = 3.98f; String str = Float.toString(i); System.out.println(str);