Синтаксис Java: преобразование строк в числа

Обычно в графический интерфейс пользователя, будут текстовые поля, ожидающие ввода пользователем числового значения. Это числовое значение закончится в строка объект, который действительно не помогает вашей программе, если вы хотите сделать некоторую арифметику. К счастью, существуют классы-обертки, которые предоставляют методы для преобразования этих значений String в числа, а класс String имеет метод для их обратного преобразования.

Классы Обертки

примитивные типы данных которые имеют дело с числами (то есть, byte, int, double, float, long и short), все имеют классовые эквиваленты. Эти классы известны как классы-обертки, так как они принимают примитивный тип данных и окружают его функциональностью класса. Например, класс Double будет иметь двойное значение в качестве своих данных и предоставлять методы для манипулирования этим значением.

Все эти классы-обертки имеют метод с именем valueOf. Этот метод принимает String в качестве аргумента и возвращает экземпляр класса-оболочки. Например, допустим, у нас есть строка со значением десять:

instagram viewer
Номер строки = "10";

Наличие этого числа в качестве строки бесполезно для нас, поэтому мы используем класс Integer для преобразования его в объект Integer:

Целое число convertNumber = Integer.valueOf (число);

Теперь число можно использовать как число, а не как строку:

convertNumber = convertNumber + 20;

Вы также можете сделать преобразование прямо в примитивный тип данных:

int convertNumber = Integer.valueOf (number) .intValue ();

Для других примитивных типов данных вы просто вставляете правильный класс оболочки - Byte, Integer, Double, Float, Long Short.

Замечания: Вы должны убедиться, что строка может быть проанализирована в соответствующий тип данных. Если это невозможно, вы получите ошибку во время выполнения. Например, пытаясь преобразовать «десять» в целое число:

Номер строки = "десять";
int convertNumber = Integer.valueOf (number) .intValue ();

выдаст NumberFormatException, поскольку компилятор не имеет представления, что «десять» должно быть 10.

Более того, такая же ошибка произойдет, если вы забудете, что «int» может содержать только целые числа:

Номер строки = "10,5";
int convertNumber = Integer.valueOf (number) .intValue ();

Компилятор не будет усекать число, он просто будет думать, что он не вписывается в int и что пришло время выбросить NumberFormatException.

Преобразование чисел в строки

Для преобразования числа в строку следует тот же тип шаблона, что и в классе String также есть метод valueOf. Он может принимать любое из примитивных чисел типа данных в качестве аргумента и создавать строку:

int numberTwenty = 20;

String convert = String.valueOf (numberTwenty);

который помещает «20» в качестве строкового значения для преобразованного.

или вы можете использовать метод toString любого из классов-оболочек:

String convert = Integer.toString (numberTwenty);

Метод toString является общим для всех типов объектов - в большинстве случаев это просто описание объекта. Для классов-оболочек это описание является фактическим значением, которое они содержат. В этом направлении преобразование является более надежным. Если класс Double должен был использоваться вместо Integer:

String convert = Double.toString (numberTwenty);

результат не вызовет ошибка выполнения. Преобразованная переменная будет содержать строку «20.0».

Существует также более тонкий способ преобразования чисел, когда вы конкатенация строк. Если строка должна быть построена как:

String aboutDog = "Моей собаке" + numberTwenty + "лет.";

преобразование целого числа Twenty выполняется автоматически.

instagram story viewer