Java Double parseDouble Метод

JavaJavaBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Метод Java parseDouble() используется для преобразования строковых значений в их эквивалентные значения типа double. Это важный метод при преобразовании типов данных. В этом практическом занятии мы узнаем, как использовать метод parseDouble() и как он преобразует строковое значение в его эквивалентное значение типа double.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/ProgrammingTechniquesGroup(["Programming Techniques"]) java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/BasicSyntaxGroup -.-> java/output("Output") java/BasicSyntaxGroup -.-> java/type_casting("Type Casting") java/StringManipulationGroup -.-> java/strings("Strings") java/ProgrammingTechniquesGroup -.-> java/method_overloading("Method Overloading") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/exceptions("Exceptions") java/FileandIOManagementGroup -.-> java/io("IO") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/output -.-> lab-117627{{"Java Double parseDouble Метод"}} java/type_casting -.-> lab-117627{{"Java Double parseDouble Метод"}} java/strings -.-> lab-117627{{"Java Double parseDouble Метод"}} java/method_overloading -.-> lab-117627{{"Java Double parseDouble Метод"}} java/user_input -.-> lab-117627{{"Java Double parseDouble Метод"}} java/exceptions -.-> lab-117627{{"Java Double parseDouble Метод"}} java/io -.-> lab-117627{{"Java Double parseDouble Метод"}} java/string_methods -.-> lab-117627{{"Java Double parseDouble Метод"}} end

Реализация синтаксиса метода parseDouble()

Реализуйте следующий синтаксис метода parseDouble() в вашей программе на Java:

public static double parseDouble(String s) throws NumberFormatException

Использование метода parseDouble() для преобразования строкового значения в значение типа double

В этом шаге мы преобразуем строковое значение в его эквивалентное значение типа double с использованием метода parseDouble().

Блок кода:

String str = "8.97";
double num = Double.parseDouble(str);
System.out.println("Double value of "+str+" is "+num);

Это выведет:

Double value of 8.97 is 8.97

В приведенном выше блоке кода мы создали переменную str типа String и инициализировали ее значением "8.97". Затем мы вызвали метод parseDouble(), передав переменную строкового типа в качестве аргумента, и присвоили возвращаемое значение типа double переменной num типа double. Наконец, мы вывели переменную num типа double.

Захват возможного исключения NumberFormatException

В этом шаге мы будем ловить исключение NumberFormatException, чтобы избежать неожиданных проблем.

Блок кода:

try {
   String str = "not a number"; // здесь возникает исключение
   double num = Double.parseDouble(str);
   System.out.println("Double value of "+str+" is "+num);
} catch(NumberFormatException e) {
   System.out.println("Error: "+e.getMessage()+" is not a valid double");
}

Это выведет:

Error: For input string: "not a number" is not a valid double

В приведенном выше блоке кода метод Double.parseDouble() вызывается с строкой "not a number", которая не является допустимым значением типа double. Поскольку метод parseDouble() выбрасывает исключение NumberFormatException, мы использовали блок try-catch для перехвата любых исключений, которые могут возникнуть в программе.

Прием ввода от пользователя

В этом шаге мы будем получать ввод от пользователя с использованием класса Scanner и преобразовывать его в значение типа double с использованием метода parseDouble().

Блок кода:

Scanner input = new Scanner(System.in);
System.out.print("Enter a number: ");
String str = input.next();
double num = Double.parseDouble(str);
System.out.println("Double value of "+str+" is "+num);

Это выведет:

Enter a number: 9.56
Double value of 9.56 is 9.56

В приведенном выше блоке кода мы создали экземпляр класса Scanner для приема ввода от пользователя. Мы использовали метод next() для чтения ввода от пользователя в виде строкового значения, затем передали его методу parseDouble() и присвоили возвращаемое значение переменной num типа double. Наконец, мы вывели переменную num типа double.

Обработка значений null

В этом шаге мы будем обрабатывать значения null, передаваемые методу parseDouble().

Блок кода:

String str = null;
try {
   double num = Double.parseDouble(str); // здесь возникает исключение
   System.out.println(num);
} catch (NullPointerException e) {
   System.out.println("Error: "+e.getMessage()+" - It's not possible to convert null to double value");
}

Это выведет:

Error: null - It's not possible to convert null to double value

В приведенном выше блоке кода мы присвоили значение null переменной str типа String. Затем мы вызвали метод parseDouble() и передали значение null в качестве аргумента, что вызывает исключение NullPointerException. Мы использовали блок try-catch для перехвата исключения NullPointerException и вывели пользовательское сообщение.

Просмотр полного кода

На этом этапе наш код должен выглядеть так:

import java.util.Scanner;

public class JavaDoubleParseDoubleMethod {
   public static void main(String[] args) {
      // Пример 1
      String str = "8.97";
      double num = Double.parseDouble(str);
      System.out.println("Double value of "+str+" is "+num);

      // Пример 2
      try {
         String str2 = "not a number";
         double num2 = Double.parseDouble(str2);
         System.out.println("Double value of "+str2+" is "+num2);
      } catch(NumberFormatException e) {
         System.out.println("Error: "+e.getMessage()+" is not a valid double");
      }

      // Пример 3
      Scanner input = new Scanner(System.in);
      System.out.print("Enter a number: ");
      String str3 = input.next();
      double num3 = Double.parseDouble(str3);
      System.out.println("Double value of "+str3+" is "+num3);

      // Пример 4
      String str4 = null;
      try {
         double num4 = Double.parseDouble(str4);
         System.out.println(num4);
      } catch (NullPointerException e) {
         System.out.println("Error: "+e.getMessage()+" - It's not possible to convert null to double value");
      }
   }
}

Компиляция и запуск Java-программы

Для компиляции и запуска Java-программы выполните следующие команды:

cd ~/project
javac JavaDoubleParseDoubleMethod.java
java JavaDoubleParseDoubleMethod

Это запустит Java-программу и выведет следующее:

Double value of 8.97 is 8.97
Error: For input string: "not a number" is not a valid double
Enter a number: 9.56
Double value of 9.56 is 9.56
Error: null - It's not possible to convert null to double value

Резюме

В этом практическом занятии мы узнали, как использовать метод parseDouble() для преобразования строковых значений в соответствующие значения типа double. Мы также узнали, как обрабатывать исключения и обрабатывать значения null в методе. Этот метод очень полезен при работе со строковыми значениями и численными вычислениями на Java.