Нові

Як перетворити рядки в числа та віце-верси на Java

Як перетворити рядки в числа та віце-верси на Java


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Зазвичай у графічному інтерфейсі користувача будуть текстові поля, які очікують, що користувач введе числове значення. Це число число виявиться в об'єкті String, який не дуже допомагає вашій програмі, якщо ви хочете виконати деяку арифметику. На щастя, існують класи обгортки, які надають методи перетворення цих значень String в числа, а клас String має метод їх перетворення знову.

Класи з обгортки

Примітивні типи даних, які мають справу з числами (тобто байт, int, double, float, long і short), мають еквіваленти класу. Ці класи відомі як обгорткові класи, оскільки вони приймають примітивний тип даних та оточують його функціональністю класу. Наприклад, клас Double буде мати подвійне значення в якості своїх даних і надаватиме методи маніпулювання цим значенням.

Усі ці класи обгортки мають метод, який називається valueOf. Цей метод бере аргумент String як аргумент і повертає екземпляр класу обгортки. Наприклад, скажімо, у нас є рядок зі значенням десять:

Номер рядка = "10";

Отримати це число як рядок для нас не корисно, тому ми використовуємо клас Integer для перетворення його в об'єкт Integer:

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

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

convertNumber = перетвореноNumber + 20;

Ви також можете змусити перетворення перейти до примітивного типу даних:

int convertNumber = Integer.valueOf (число) .intValue ();

Для інших примітивних типів даних ви просто розмістіть у правильному класі обгортки-байт, цілий ряд, подвійний, плаваючий, довгий короткий.

Примітка: Ви повинні переконатися, що рядки можуть бути розібрані у відповідний тип даних. Якщо цього не вдасться, у вас з’явиться помилка виконання. Наприклад, намагаючись перетворити "десять" у ціле число:

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

створить NumberFormatException, оскільки компілятор не має уявлення, "десять" повинна бути 10.

Більш тонко така ж помилка виникне, якщо ви забудете, що "int" може містити лише цілі числа:

Номер рядка = "10,5";
int convertNumber = Integer.valueOf (число) .intValue ();

Компілятор не вріже число, він просто подумає, що він не вкладається у "int", і що настав час кинути NumberFormatException.

Перетворення чисел у рядки

Для перетворення числа в String слід за тим же шаблоном, що і клас String також має метод valueOf. Він може приймати будь-який з примітивних номерів типів даних як аргумент і створювати String:

int числоTwenty = 20;

Рядок перетворений = String.valueOf (числоTwenty);

який ставить "20" як значення String coverted.

або ви можете використовувати метод toString будь-якого з класів обгортки:

Рядок перетворений = Integer.toString (числоTwenty);

Метод toString є загальним для всіх типів об'єктів - більшість випадків це лише опис об'єкта. Для класів обгортки цей опис є фактичним значенням, яке вони містять. У цьому напрямку конверсія дещо надійніша. Якщо клас Double використовувався замість цілого числа:

Рядок перетворений = Double.toString (числоTwenty);

результат не спричинить помилку виконання. Перетворена змінна містила б рядок "20.0".

Існує також більш тонкий спосіб перетворення чисел під час об'єднання рядків. Якщо струна повинна бути побудована так:

String aboutDog = "Моїй собаці" + числоТвадцять + "років.";

перетворення int числаTwenty робиться автоматично.


Video, Sitemap-Video, Sitemap-Videos