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.



