1
resposta

Expressão Regular Incorreta

Ola, O exercício "validando preço digitado" pede para complementar o segmento de código com a seguinte regra.

A solução deve garantir que os preços sejam positivos e tenham duas casas decimais.

A resposta do exercício é o seguinte trecho de código abaixo:

Regex reg = new Regex(@"^\d+(\.\d\d)?$");
if (reg.IsMatch(price))

Mas acredito que a resposta correta é essa:

Regex reg = new Regex(@"^\d+\.\d\d$");
if(reg.IsMatch(price))

Por que o formato (.\d\d)? não garante que o número tenha duas casas decimais, apenas garante que pode ter ou não duas casas decimais. Ex.:

150.55 seria verdadeiro como 150 também seria verdadeiro.

1 resposta

Oi Moises, tudo bem?

Muito obrigado por nos avisar! Fizemos uma mudança no enunciado para expressar a ideia original do exercício.

A solução deve garantir que os preços sejam positivos e tenham, no máximo, duas casas decimais.

Um abraço!