конвертировать String в int (java) [дубликат]
Делаю калькулятор на java. После внесения строки, для расчета, пытаюсь ее конвертировать в цифры. На языке СИ было бы легко, там char легко конвертировать в int, а тут строка получается в String , и как ее переработать в int непонятно. String на массив непохож. Если пытаться отображать в виде: String[1],String[2],String[3]. — ошибка. Можно ли, как-то, String разбить на символы и конвертировать в таблицу соответствующих значений типа int ? ( вывести символы в числа)
Отслеживать
2,332 6 6 золотых знаков 21 21 серебряный знак 34 34 бронзовых знака
Преобразовать строку в число в Java? String to Int
Преобразование String в int или Integer — очень распространенная операция в Java. Существует несколько простых способов сделать это преобразование. Часто используемым методом является Integer.parseInt().
Метод Integer.parseInt()
Integer.parseInt() Разбирает строковый аргумент в виде десятичного целого числа со знаком и генерирует исключение NumberFormatException, если строка не может быть преобразована в тип int.
String strNum="999"; int numStr = Integer.parseInt(strNum);
Значение numStr будет равно 999.
Если первый символ — знак минус (-), он вернет значение минус.
String strNum="-999"; int numStr = Integer.parseInt(strNum);
Значение numStr будет равно -999.
Если данная строка недействительна, конверсия вызовет исключение NumberFormatException.
String strNum="asdf"; int numStr = Integer.parseInt(strNum);
Вышеприведенный код генерирует исключение NumberFormatException.
Пример
class TestClass < public static void main (String[] args)< String strNum="999"; int numStr = Integer.parseInt(strNum); System.out.println("Output is " + numStr); String strNum1="-999"; int numStr1 = Integer.parseInt(strNum1); System.out.println("Output is " + numStr1); >>
Выход
Value is 999 Value is -999
Integer.valueOf()
Java Integer.valueOf() возвращает экземпляр Integer, представляющий указанное значение int.
class TestClass < public static void main (String[] args)< String strNum="999"; Integer numStr = Integer.valueOf(strNum); System.out.println("Value is " + numStr); >>
Выход
Value is 999
Конструктор целых чисел
Вы можете преобразовать строку в целочисленное значение с помощью Integer Constructor.
class TestClass < public static void main (String[] args)< String strNum="999"; Integer numStr = new Integer(strNum); System.out.println("Value is " + numStr); >>
Выход
Value is 999
Разница между parseInt() и значениемOf()
Integer.valueOf() возвращает объект Integer, а Integer.parseInt() возвращает примитив 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);Как преобразовать строку в число 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 , если строка не может быть преобразована в число. Поэтому, при использовании этих методов следует обрабатывать возможное исключение.