Как преобразовать строку в число java
Для преобразования строки в число в Java вы можете использовать методы parseInt() или parseDouble() из класса Integer и Double соответственно.
Для преобразования строки в целое число используйте метод parseInt():
String str = "123"; int num = Integer.parseInt(str);
В этом примере мы создаем строковую переменную str , содержащую значение «123», а затем преобразуем ее в целое число, используя метод parseInt() . Результат присваиваем переменной num
Для преобразования строки в число с плавающей точкой используйте метод parseDouble() :
String str = "3.14"; double num = Double.parseDouble(str);
В этом примере мы создаем строковую переменную str , содержащую значение «3.14», а затем преобразуем ее в число с плавающей точкой, используя метод parseDouble() . Результат присваиваем переменной num
Оба метода могут выбрасывать исключение NumberFormatException , если строка не может быть преобразована в число. Поэтому, при использовании этих методов следует обрабатывать возможное исключение.
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);Примеры работы со строками
Есть очень интересная и простая вещь, которую можно делать со строками в Java — их можно склеивать. Такая операция называется конкатенация . Ну или чтобы легче запомнилось — Кон-Котэ-Нация. Хотя часто ее называют «склеивание строк» или даже просто «сложение строк».
Чтобы склеить две строки, нужно использовать знак + . Это очень просто:
"значение1" + "значение2"Конкатенация двух строк
String name code text-user">Аня" + "Аня";String city code text-user">New York" + "Аня";String message code text-user">Hello! " + "Аня";Ну и, конечно, одновременно можно складывать много строк, а также складывать строки и переменные.
String name code text-user">Аня"; String city code text-user">New York"; String message code text-user">Hello!" + city + name + city;В последнем примере видно, что текст в переменной message плохо читается, т.к. в нем не хватает пробелов. Чтобы задать один пробел или несколько, нужно просто написать их в коде и обернуть в двойные кавычки. Это проще, чем кажется:
Строка, содержащая один пробел
Кстати, если между кавычками совсем не оставить места (написать две двойные кавычки подряд), получится так называемая «пустая строка»:
Пустая строка
С одной стороны, она вроде бы и есть, а с другой, при ее выводе на экран ничего не выводится. И при склейке с другими строками ничего не происходит. Эдакий аналог нуля, только для строк.
2. Преобразование к строковому типу
Как уже говорилось выше, разработчики Java сделали так, что абсолютно все переменные, объекты, выражения в Java можно преобразовать к типу String .
Более того, это автоматически происходит, когда мы складываем тип String с каким-нибудь другим типом . Примеры:
int a = 5; String name code text-user">Аня" + a;int a = 5; String city = a + "New York" + a;int number = 10; String code code text-user">Yo"; String message code text-user">Hello! " + number + code;Во всех трех примерах мы спокойно складывали переменные типа int и String , и в результате всегда получался тип String .
Арифметические операции с типом String проводить нельзя. Даже если строка целиком состоит из цифр.
int a = 5; String name code text-user">1" + a;int a = 5; String city = a + "9" + a;int number = 10; String code code text-user">10"; String message = "" + number + code;Операция сложения выполняется слева направо, так что результат может быть несколько неожиданным. Пример:
int a = 5; String name = a + a + "1" + a;Порядок выполнения: (( a + a ) + " 1 ") + a
3. Преобразование строки в число
Чтобы преобразовать число в строку в Java, достаточно сложить его и пустую строку:
String str = "" + число;Преобразование числа в строку
А вот что делать, если нужно преобразовать строку в число? Ну, любую строку в число преобразовать нельзя. Но вот если строка состоит только из цифр, то все-таки можно. Для этого есть специальный метод у класса Integer .
Выглядит эта команда так:
int x = Integer.parseInt(строка);Где int x – это объявление целочисленной переменной x , а строка — это число заданное в виде строки (строка состоящая из цифр).
String str code text-user">123"; int number = Integer.parseInt(str);int number = Integer.parseInt("321");int number = Integer.parseInt("321" + 0);int number code text-user">321";4. Перевод объекта/примитива в строку
Для перевода экземпляра любого Java-класса или любого примитивного типа данных к строковому представлению, можно использовать метод String.valueOf() :
public class StringExamples < public static void main(String[] args) < String a = String.valueOf(1); String b = String.valueOf(12.0D); String c = String.valueOf(123.4F); String d = String.valueOf(123456L); String s = String.valueOf(true); System.out.println(a); System.out.println(b); System.out.println(c); System.out.println(d); System.out.println(s); /* Вывод: 1 12.0 123.4 123456 true */ >>5. Некоторые методы работы со строками
Ну и напоследок хотелось бы рассказать о нескольких методах типа String .
Метод length()
Метод length() позволяет узнать длину строки – сколько в ней символов.
String name code text-user">Rome"; int count = name.length();int count = "".length();String name code text-user">Rom"; int count = (name + 12).length();Да, методы можно вызывать у всего, что имеет тип String , даже у выражения:
(name + 12).length()Вызов метода length() у выражения типа String
Метод toLowerCase()
Метод toLowerCase() позволяет преобразовать все символы строки в маленькие (строчные):
String name code text-user">Rom"; String name2 = name.toLowerCase();String name = "".toLowerCase();String name code text-user">ROM123"; String name2 = name.toLowerCase();Метод toUpperCase()
Метод toUpperCase() позволяет преобразовать все символы строки в большие (заглавные):
String name code text-user">Rom"; String name2 = name.toUpperCase();String name = "rom123"; String name2 = name.toUpperCase();Вопрос-ответ: как в 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 () и ему подобные.
