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) { System.err.println("Неправильный формат строки!"); }
С помощью метода valueOf класса Byte:
String str1 = "141"; try { Byte b2 = Byte.valueOf(str1); System.out.println(b2); } catch (NumberFormatException e) { System.err.println("Неправильный формат строки!"); }
С помощью метода parseByte класса Byte:
byte b = 0; String str2 = "108"; try { b = Byte.parseByte(str2); System.out.println(b); } catch (NumberFormatException e) { System.err.println("Неправильный формат строки!"); }
А теперь давайте посмотрим, как выглядит перевод строки в массив байтов и обратно в 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) { e.printStackTrace(); }
Преобразуем строку в число в Java: String to int
Здесь, в принципе, всё почти то же самое:
Используем конструктор:
try { Integer i1 = new Integer("10948"); System.out.println(i1); }catch (NumberFormatException e) { System.err.println("Неправильный формат строки!"); }
Используем метод valueOf класса Integer:
String str1 = "1261"; try { Integer i2 = Integer.valueOf(str1); System.out.println(i2); }catch (NumberFormatException e) { System.err.println("Неправильный формат строки!"); }
Применяем метод parseInt:
int i3 = 0; String str2 = "203955"; try { i3 = Integer.parseInt(str2); System.out.println(i3); } catch (NumberFormatException e) { System.err.println("Неправильный формат строки!"); }
Аналогично действуем и для других примитивных числовых типов данных в 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);