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.