Преобразование строки в число типа double
На этом этапе мы научимся преобразовывать строку (String
), представляющую число, в значение типа double
в Java. Это распространенная задача, когда числовой ввод поступает в виде текста, например, от пользователя или при чтении из файла. Класс Double
предоставляет статический метод parseDouble()
, специально предназначенный для этой цели.
Создадим новый Java-файл с именем StringtoDouble.java
в каталоге ~/project
. Используйте проводник файлов WebIDE для создания этого файла.
Откройте файл StringtoDouble.java
и добавьте следующий код:
public class StringtoDouble {
public static void main(String[] args) {
// A string representing a double value
String doubleString = "987.65";
// Another string representing a double value
String anotherDoubleString = "3.14159";
// A string that is not a valid double
String invalidDoubleString = "hello";
// Parse the strings to double values
try {
double parsedDouble1 = Double.parseDouble(doubleString);
double parsedDouble2 = Double.parseDouble(anotherDoubleString);
System.out.println("Parsed double from \"" + doubleString + "\": " + parsedDouble1);
System.out.println("Parsed double from \"" + anotherDoubleString + "\": " + parsedDouble2);
// Attempt to parse an invalid string (This will cause an error)
// double parsedDouble3 = Double.parseDouble(invalidDoubleString);
// System.out.println("Parsed double from \"" + invalidDoubleString + "\": " + parsedDouble3);
} catch (NumberFormatException e) {
System.out.println("Error parsing string: " + e.getMessage());
}
}
}
В этом коде:
- У нас есть две строки,
doubleString
и anotherDoubleString
, которые содержат корректные представления чисел типа double.
- Также есть строка
invalidDoubleString
, которая не представляет собой корректное число.
- Мы используем метод
Double.parseDouble()
для преобразования корректных строк в примитивные значения типа double
.
- Мы обернули код преобразования в блок
try-catch
. Это важно, потому что если строку нельзя преобразовать в корректное число типа double (как в случае с invalidDoubleString
), метод parseDouble()
выбросит исключение NumberFormatException
. Блок catch
обрабатывает эту ошибку корректно.
Сохраните файл StringtoDouble.java
.
Теперь скомпилируем и запустим программу. Откройте терминал и убедитесь, что вы находитесь в каталоге ~/project
.
Скомпилируйте код:
javac StringtoDouble.java
Запустите скомпилированный код:
java StringtoDouble
Вы должны увидеть вывод, похожий на следующий:
Parsed double from "987.65": 987.65
Parsed double from "3.14159": 3.14159
Если вы раскомментируете строки, которые пытаются преобразовать invalidDoubleString
, и запустите код снова, вы увидите сообщение об ошибке из блока catch
, что демонстрирует, как программа обрабатывает некорректный ввод.
На этом этапе показано, как преобразовать строковые представления чисел в фактические значения типа double
, что является важным навыком для обработки ввода в ваших Java-программах.