Јава синтакса: Претварање стрингова у бројеве

click fraud protection

Типично у а графички кориснички интерфејс, постојаће текстуална поља која очекују од корисника да унесе нумеричку вредност. Ова бројчана вредност ће завршити у а Низ објекта који заиста не помаже вашем програму ако желите да урадите неку аритметику. Срећом, постоје класе омота који пружају методе за претварање тих Стринг вриједности у бројеве, а класа Стринг има метод да их поново претвори.

Враппер Цлассес

Тхе примитивни типови података који се баве бројевима (тј. бајт, инт, дупли, плутајући, дуги и кратки) сви имају еквиваленте класе. Ове класе су познате и као класе омота јер узимају примитивни тип података и окружују га функционалношћу класе. На пример, Доубле класа имаће двоструку вредност као своје податке и пружаће методе за манипулацију том вредношћу.

Све ове класе омота имају методу која се назива валуеОф. Ова метода узима Стринг као аргумент и враћа инстанцу класе омота. На пример, рецимо да имамо стринг у вредности десет:

Стринг нумбер = "10";

Имати овај број као стринг није нам од користи, па користимо класу Интегер да га претворимо у Интегер објект:

instagram viewer
Интегер цонвертНумбер = Интегер.валуеОф (број);

Сада се број може користити као број, а не као низ:

цонвертНумбер = цонвертНумбер + 20;

Такође можете претворити да иде директно у примитивни тип података:

инт цонвертНумбер = Интегер.валуеОф (број) .интВалуе ();

За остале примитивне типове података само ћете уместити у исправну класу омотача - бајт, целокупни, двоструки, плутајући, дуги кратки.

Белешка: Морате бити сигурни да се стринг може раставити на одговарајући тип података. Ако то не успе, завршићете са грешком извршавања. На пример, покушај да се "десет" претвори у цео број:

Стринг нумбер = "десет";
инт цонвертНумбер = Интегер.валуеОф (број) .интВалуе ();

произвешће НумберФорматЕкцептион јер компајлер нема појма "десет" би требало да буде 10.

Суптилније ће се иста грешка догодити ако заборавите да „инт“ може да садржи само читаве бројеве:

Стринг нумбер = "10.5";
инт цонвертНумбер = Интегер.валуеОф (број) .интВалуе ();

Компајлер неће исећи број, само ће помислити да се не уклапа у „инт“ и да је време да избаците НумберФорматЕкцептион.

Претварање бројева у жице

За прављење броја у Стринг слиједи исти начин као и класа Стринг такође има валуеОф метод. Може узети било који од примитивних бројева типа података као аргумент и произвести Стринг:

инт нумберТвенти = 20;

Стринг претворити = Стринг.валуеОф (нумберТвенти);

која ставља "20" као Стринг вриједност ковертираног.

или можете користити тоСтринг метод било које класе омота:

Стринг претворити = Интегер.тоСтринг (нумберТвенти);

Метода тоСтринг је заједничка за све врсте објеката - углавном је то само опис објекта. За класе омота, овај опис је стварна вредност коју садрже. У том је смеру конверзија мало робуснија. Ако би се умјесто целог броја користила класа Доубле:

Претворени низ = Доубле.тоСтринг (нумберТвенти);

резултат не би изазвао а грешка у раду. Конвертирана варијабла би садржавала стринг "20.0".

Постоји и суптилнији начин претварања бројева кад сте удружујуће жице. Ако би низ био направљен као:

Стринг абоутДог = "Мој пас је" + бројДевет + "година.";

претварање инт бројаТвенти се аутоматски врши.

instagram story viewer