marcobiscaro2112
O ponto é um metacaracter em expressões regulares no Java. Use o caracter de escape:
Boolean matcher = Pattern.matches("[0-9]+([\.,][0-9]{2}+)?",value);
marcobiscaro2112
marcobiscaro2112:
O ponto é um metacaracter em expressões regulares no Java. Use o caracter de escape:
Boolean matcher = Pattern.matches("[0-9]+([\.,][0-9]{2}+)?",value);
Opa… mas não era essa sua dúvida. :roll:
marcobiscaro2112
Acho que é isso que você precisa:
boolean matcher = Pattern.matches("[0-9]{1,3}(\.[0-9]{3})*,[0-9]{2}", value);
Ele aceita valores como [#.###.##]#,## sendo que o que está entre colchetes no exemplo é opcional.
colored
Bom Mas ele teria tb q aceitar virgulas e pontos ou nada como opcionais…
por exemplo…
Tipo poderia ser assim:
1.200,00
1,200,00
1200,00
1200.00
marcobiscaro2112
Que tal:
boolean matcher = Pattern.matches("[0-9]{1,3}([.,]?[0-9]{3})*[.,][0-9]{2}", value);
colored
Serviu bem
Brigado.