1
resposta

[Projeto] Exercício: Nível de bateria do dispositivo

import { createInterface } from "readline";

const rl = createInterface({
  input: process.stdin,
  output: process.stdout,
});

const formatarPorcentagem = (input) => {
  const formatado = input.trim().replace("%", "");
  const numero = Number(formatado);

  if (!Number.isInteger(numero) || numero < 0 || numero > 100) return null;
  return numero;
};

rl.question("Qual o nível da sua bateria?\n> ", (input) => {
  const bateria = formatarPorcentagem(input);

  if (bateria === null) {
    console.log("Valor inválido.");
    rl.close();
    return;
  }

  console.log(bateria < 20 ? "Crítica" : bateria < 80 ? "Moderada" : "Cheia");

  rl.close();
});
1 resposta

Oi, Vitor! Como vai?

Agradeço por compartilhar.

Seu uso da função formatarPorcentagem ficou bem organizado, pois separa a validação da entrada antes de aplicar a condicional. Também chamou atenção o uso de Number.isInteger(numero), que ajuda a garantir que o valor informado seja um número inteiro entre 0 e 100.

Uma dica interessante para o futuro é usar o método replaceAll() quando quiser remover mais de uma ocorrência de um caractere na entrada.


const texto = "50%%";
const valorLimpo = texto.replaceAll("%", "");

console.log(valorLimpo);

Esse código remove todos os simbolos % da string antes de usar o valor.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!