1
resposta

[Dúvida] E se for uma divisão?

Sei que estamos no inicio do curso e vamos aprender mais sobre validações e etc.
Mas a curiosidade é maior:
Em outras linguagens ou na propria regra da matematica(não sei ao certo!) se tentarmos dividir um numero por zero vai dar ruim.
A não ser é claro que faça as devidas validações.
Em Dart tem como fugir disso? Ou segue o mesmo padrão?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Olá, Nataly, como vai?

No Dart, tentar dividir um número por zero em operações com inteiros resulta em uma exceção. Isso "quebra" a execução do seu programa se não for tratado.

int numerador = 10;
int denominador = 0;
int resultado = numerador ~/ denominador; // O operador ~/ é para divisão inteira
print(resultado);

Já se você estiver trabalhando com números de ponto flutuante, como double, a divisão por zero não lança uma exceção, mas sim retorna um valor especial: Infinity (Infinito).

double numeradorDouble = 10.0;
double denominadorDouble = 0.0;
double resultadoDouble = numeradorDouble / denominadorDouble;
print(resultadoDouble); // A saída será Infinity

Para evitar que seu programa pare ou retorne um valor inesperado, é fundamental realizar validações antes da operação. A maneira mais comum é verificar se o denominador é zero, como você bem mencionou, e só realizar a divisão se ele for diferente de zero.

int numerador = 10;
int denominador = 0;

if (denominador != 0) {
  int resultado = numerador ~/ denominador;
  print("O resultado é: $resultado");
} else {
  print("Erro: Divisão por zero não é permitida");
}

Espero ter ajudado.

Siga firme nos seus estudos e conte com o fórum sempre que precisar.

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado