Método Java Double parseDouble

JavaJavaBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

El método parseDouble() de Java se utiliza para convertir valores de cadena en sus equivalentes valores de doble precisión. Este es un método importante cuando se trata de la conversión de tipos de datos. En este laboratorio, aprenderemos cómo utilizar el método parseDouble() y cómo convierte un valor de cadena en su equivalente valor de doble precisión.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) 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/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{{"Método Java Double parseDouble"}} java/type_casting -.-> lab-117627{{"Método Java Double parseDouble"}} java/strings -.-> lab-117627{{"Método Java Double parseDouble"}} java/method_overloading -.-> lab-117627{{"Método Java Double parseDouble"}} java/user_input -.-> lab-117627{{"Método Java Double parseDouble"}} java/exceptions -.-> lab-117627{{"Método Java Double parseDouble"}} java/io -.-> lab-117627{{"Método Java Double parseDouble"}} java/string_methods -.-> lab-117627{{"Método Java Double parseDouble"}} end

Implementar la sintaxis del método parseDouble()

Implementa la siguiente sintaxis del método parseDouble() en tu programa Java:

public static double parseDouble(String s) throws NumberFormatException

Utilizar el método parseDouble() para convertir un valor de cadena en un valor de doble precisión

En este paso, convertiremos un valor de cadena en su equivalente valor de doble precisión utilizando el método parseDouble().

Bloque de código:

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

Esto imprimirá:

Double value of 8.97 is 8.97

En el bloque de código anterior, creamos una variable de cadena str y la inicializamos con el valor "8.97". Luego, llamamos al método parseDouble(), pasando la variable de cadena como argumento, y asignamos el valor de doble precisión devuelto a la variable de doble precisión num. Finalmente, imprimimos la variable de doble precisión.

Capturando la posible excepción NumberFormatException

En este paso, capturaremos la excepción NumberFormatException para evitar problemas inesperados.

Bloque de código:

try {
   String str = "not a number"; // exception occurs here
   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");
}

Esto imprimirá:

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

En el bloque de código anterior, se llama al método Double.parseDouble() con una cadena "not a number", que no es un valor de doble válido. Dado que el método parseDouble() lanza una NumberFormatException, utilizamos un bloque try-catch para capturar cualquier excepción que pueda ocurrir en el programa.

Recibiendo la entrada del usuario

En este paso, recibiremos la entrada del usuario utilizando la clase Scanner y la analizaremos en un valor de doble precisión utilizando el método parseDouble().

Bloque de código:

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);

Esto imprimirá:

Enter a number: 9.56
Double value of 9.56 is 9.56

En el bloque de código anterior, creamos una instancia de la clase Scanner para recibir la entrada del usuario. Utilizamos el método next() para leer la entrada del usuario como un valor de cadena, luego la pasamos al método parseDouble() y asignamos el valor devuelto a la variable de doble precisión num. Finalmente, imprimimos la variable de doble precisión.

Manejo de valores nulos

En este paso, manejaremos los valores nulos que se pasan al método parseDouble().

Bloque de código:

String str = null;
try {
   double num = Double.parseDouble(str); // exception occurs here
   System.out.println(num);
} catch (NullPointerException e) {
   System.out.println("Error: "+e.getMessage()+" - It's not possible to convert null to double value");
}

Esto imprimirá:

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

En el bloque de código anterior, asignamos un valor nulo a la variable de cadena str. Luego, llamamos al método parseDouble() y pasamos el valor nulo como argumento, lo que lanza una NullPointerException. Utilizamos un bloque try-catch para capturar la NullPointerException e imprimimos un mensaje personalizado.

Revisar el código completo

En este punto, nuestro código debería verse así:

import java.util.Scanner;

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

      // Ejemplo 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");
      }

      // Ejemplo 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);

      // Ejemplo 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");
      }
   }
}

Compilar y ejecutar el programa Java

Para compilar y ejecutar el programa Java, ejecuta los siguientes comandos:

cd ~/project
javac JavaDoubleParseDoubleMethod.java
java JavaDoubleParseDoubleMethod

Esto ejecutará el programa Java y generará la siguiente salida:

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

Resumen

En este laboratorio, aprendimos cómo utilizar el método parseDouble() para convertir valores de cadena en sus equivalentes valores de doble precisión. También aprendimos cómo manejar excepciones y manejar valores nulos en el método. Este método es muy útil cuando se trabaja con valores de cadena y cálculos numéricos en Java.