Как из строки сделать число java
Перейти к содержимому

Как из строки сделать число java

  • автор:

Как преобразовать строку в число 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 плохо читается, т.к. в нем не хватает пробелов. Чтобы задать один пробел или несколько, нужно просто написать их в коде и обернуть в двойные кавычки. Это проще, чем кажется:

Java-университет

Строка, содержащая один пробел

Кстати, если между кавычками совсем не оставить места (написать две двойные кавычки подряд), получится так называемая «пустая строка»:

Пустая строка

С одной стороны, она вроде бы и есть, а с другой, при ее выводе на экран ничего не выводится. И при склейке с другими строками ничего не происходит. Эдакий аналог нуля, только для строк.

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?

Java-университет

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 () и ему подобные.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *