Назад Зміст Вперед
1. Приведення типів
2. Ієрархія наслідування та приведення типів

Приведення до типу
Часто постає необхідність явного приведення типу String до інших типів і навпаки. Наприклад, ви вводите з клавіатури певне число, воно буде у вигляді рядка символів, а для проведення обчислень його потрібно привести або до типу int, якщо це цілочисельне число, або ж до float чи double, якщо дробове. Для таких випадків слугує ряд статичних методів valueOf(), які наявні в класі String, а також в класах, які реалізовують числові типи Float, Double та ін.
Наступна програма вимагає введення числа з клавіатури і виводить результат перемноження введеного числа та 36:
import java.util.Scanner;
public class TestValueOf {
     
     public static void main ( String[] args ){
      int intNumber=36;  
      
      System.out.print("Введіть число: ");
     //зчитуємо число з клавіатури   
      Scanner in = new Scanner(System.in);
      String doubleStr=in.next();
      System.out.println("Ви ввели: "+doubleStr);
      //Ціла і дробова частина повинна бути через крапку
      //шукаємо чи не ввели через кому
      int index=doubleStr.indexOf(",");

      if (index>=0) {
          System.out.println("Кома у позиції: "+index);         
          doubleStr=doubleStr.replace(',', '.'); //замінити кому на крапку
      } 

      //Перетворюємо int число у рядок тексту
      String strNumber=String.valueOf(intNumber);
      
      //Приєднуємо число до рядка через метод concat (хоча можна і оператором "+")
      String strOut="*".concat(strNumber)+"=";
     
      //Перетворюємо введений рядок тексту у число
      double number=Double.valueOf(doubleStr);
      number =number*intNumber; //множимо введене число на 36
       
      System.out.println(doubleStr+strOut+number);
     
     }
}
Результат виконання:
Введіть число: 555,5
Ви ввели: 555,5
Кома у позиції: 3
555.5*36=19998.0
У наведеному прикладі для знаходження коми використано метод int indexOf(String str), а для заміни коми на крапку метод String replace(char oldChar, char newChar). Якщо не зробити таку заміну, то при приведенні типу String до Double виникне помилка виконання і програма завершиться аварійно.
За бажаннями, Ви можете ускладнити програму додавши перевірку на наявність непотрібних символів у введеному рядку і відкидання їх. Для вирішення цієї задачі скористайтесь списком методів, що наведений нижче в пункті розділу під назвою "String API".
.