Consegui controlar o numero decimal atraves da expressao regular.
(\d)*[.]\d{2}
Porem preciso controlar notas.
Não pode ultrapassar 10,00
Obrigado
Consegui controlar o numero decimal atraves da expressao regular.
(\d)*[.]\d{2}
Porem preciso controlar notas.
Não pode ultrapassar 10,00
Obrigado
O seu problema é que o valor tem de estar entre 0 e 10,00. Isso é mais chato que parece - é uma das coisas que expressões regulares não resolvem bem. Até porque “000009,99000” é uma expressão válida", não?
Eu recomendaria dividir o problema de validação em duas partes: uma que é bater com a expressão regular, e a outra que é comparar com o valor - até porque seu problema é relativamente simples - o máximo é 10 - mas nem sempre o problema é tão simples; poderia ser um valor como “23,45” ou alguma outra coisa.
O seu problema é que o valor tem de estar entre 0 e 10,00. Isso é mais chato que parece - é uma das coisas que expressões regulares não resolvem bem. Até porque “000009,99000” é uma expressão válida", não?
Eu recomendaria dividir o problema de validação em duas partes: uma que é bater com a expressão regular, e a outra que é comparar com o valor - até porque seu problema é relativamente simples - o máximo é 10 - mas nem sempre o problema é tão simples; poderia ser um valor como “23,45” ou alguma outra coisa.
Bom, parece chato e deselegante, todavia, para contornar o problema dos 0´s a frente é transformar em um Double e depois, novamente, em uma String.
Isso removeria automaticamente os 0´s a frente. Pois, 001 não é um número válido.
Mas concordo com o entanglement, talvez uma regex não seja a melhor opção para o seu problema.
Forte abraço.