Método parseDouble em Java

JavaBeginner
Pratique Agora

Introdução

O método parseDouble() do Java é usado para converter valores de string em seus valores double equivalentes. Este é um método importante quando se trata de conversão de tipos de dados. Neste laboratório, aprenderemos como usar o método parseDouble() e como ele converte um valor de string em seu valor double equivalente.

Implementar a sintaxe do método parseDouble()

Implemente a seguinte sintaxe do método parseDouble() em seu programa Java:

public static double parseDouble(String s) throws NumberFormatException

Usar o método parseDouble() para converter um valor de string em um valor double

Nesta etapa, converteremos um valor de string em seu valor double equivalente usando o método parseDouble().

Bloco de código:

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

Isso produzirá a saída:

Double value of 8.97 is 8.97

No bloco de código acima, criamos uma variável de string str e a inicializamos com o valor "8.97". Em seguida, chamamos o método parseDouble(), passando a variável string como um argumento, e atribuímos o valor double retornado à variável double num. Finalmente, imprimimos a variável double.

Capturando a possível NumberFormatException

Nesta etapa, capturaremos a NumberFormatException para evitar problemas inesperados.

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

Isso produzirá a saída:

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

No bloco de código acima, o método Double.parseDouble() é chamado com a string "not a number", que não é um valor double válido. Como o método parseDouble() lança a NumberFormatException, usamos um bloco try-catch para capturar quaisquer exceções que possam ocorrer no programa.

Aceitando a entrada do usuário

Nesta etapa, aceitaremos a entrada do usuário usando a classe Scanner e a analisaremos para um valor double usando o método parseDouble().

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

Isso produzirá a saída:

Enter a number: 9.56
Double value of 9.56 is 9.56

No bloco de código acima, criamos uma instância da classe Scanner para aceitar a entrada do usuário. Usamos o método next() para ler a entrada do usuário como um valor de string, então a passamos para o método parseDouble() e atribuímos o valor retornado à variável double num. Finalmente, imprimimos a variável double.

Tratamento de valores nulos

Nesta etapa, lidaremos com os valores nulos passados para o método parseDouble().

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

Isso produzirá a saída:

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

No bloco de código acima, atribuímos um valor nulo à variável string str. Em seguida, chamamos o método parseDouble() e passamos o valor nulo como um argumento, o que lança uma NullPointerException. Usamos um bloco try-catch para capturar a NullPointerException e imprimimos uma mensagem personalizada.

Revisar o código completo

Neste ponto, nosso código deve ser semelhante a este:

import java.util.Scanner;

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

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

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

      // Example 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 e executar o programa Java

Para compilar e executar o programa Java, execute os seguintes comandos:

cd ~/project
javac JavaDoubleParseDoubleMethod.java
java JavaDoubleParseDoubleMethod

Isso executará o programa Java e exibirá a seguinte saída:

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

Resumo

Neste laboratório, aprendemos como usar o método parseDouble() para converter valores de string em seus valores double equivalentes. Também aprendemos como lidar com exceções e tratar valores nulos no método. Este método é muito útil ao trabalhar com valores de string e cálculos numéricos em Java.