Queria ver se alguém conseguiu alguma maneira de pegar a duração em minutos com 3 e duas casas decimais. Na classe Titulo: ** this.duracaoEmMinutos = Integer.valueOf(meuTituloOmdb.runtime().substring(0, 3));**
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Queria ver se alguém conseguiu alguma maneira de pegar a duração em minutos com 3 e duas casas decimais. Na classe Titulo: ** this.duracaoEmMinutos = Integer.valueOf(meuTituloOmdb.runtime().substring(0, 3));**
Olá, Iago! Como vai?
Pelo que entendi, você está com uma dúvida em relação a capturar a duração em minutos com 3 e duas casas decimais, correto?
Pelo trecho de código que você compartilhou, parece que você está utilizando a função substring para pegar os primeiros 3 caracteres da string retornada pelo método runtime() e em seguida convertendo esse valor para um número inteiro utilizando Integer.valueOf().
Para capturar a duração em minutos com duas casas decimais, você pode utilizar a classe DecimalFormat do Java. Por exemplo:
import java.text.DecimalFormat;
// ...
String duracao = meuTituloOmdb.runtime().substring(0, 3);
double duracaoEmMinutos = Double.parseDouble(duracao);
DecimalFormat df = new DecimalFormat("0.00");
String duracaoFormatada = df.format(duracaoEmMinutos);
System.out.println(duracaoFormatada);
Nesse exemplo, utilizamos a classe DecimalFormat para formatar o valor da duração em minutos com duas casas decimais. Em seguida, imprimimos o valor formatado utilizando System.out.println().
Espero ter ajudado e bons estudos!
Obrigado pela ajuda, consegui resolver aqui. Meu código ficou assim:
public Titulo(TituloOmdb meuTituloOmdb) {
this.nome = meuTituloOmdb.title();
if (meuTituloOmdb.year().length() > 4) {
throw new ErroDeConversaoDeAnoException("Erro!! Ano tem mais de quatro digitos.");
}
this.anoDeLancamento = Integer.valueOf(meuTituloOmdb.year());
String duracao = meuTituloOmdb.runtime().substring(0, 3);
double duracaoEmMinutos = Double.parseDouble(duracao);
DecimalFormat df = new DecimalFormat("0");
String duracaoFormatada = df.format(duracaoEmMinutos);
this.duracaoEmMinutos = Integer.valueOf(duracaoFormatada);
}