Limitar digitação em campo Numeric

19/05/2017

0

Boa tarde,

Tenho um DBEdit que está ligado a um campo do tipo Numeric (18,3). Minha dúvida é sobre como limitar a digitação no DBEdit, para não permitir digitar mais do que o tamanho do campo.
Se digitar mais do que 18 números, dá o erro "Is not a valid floating point value for field...".

O campo está com o DisplayFormat = ###,###.000, pois eu preciso que venha as três casas decimais preenchidas, mesmo que o usuário não preencha.

Então, se eu digito no campo um número sem casas decimais, automaticamente ele insere as 3 casas decimais como zero.

Tentei utilizar o Maxlenght = 18, mas se eu digito os 18 números, sem vírgula, ele vai tentar inserir os 3 zeros, e aí dá o mesmo erro. E se eu coloco menos números, e as 3 casas decimais (que juntos completes os 18 números), sair do campo e voltar, apagar a vírgula, e sair do campo de novo, dá o erro.

Existe alguma forma de limitar a digitação, ou não permitir de alguma forma que sempre fique com 3 casas decimais, mesmo que o usuário apague a virgula?
Natalia

Natalia

Responder

Post mais votado

13/06/2017

Opa Natali, tud bem?

já tentou fazer assim?

DisplayFormat e EdtFormat = ###.##0

Wesley Yamazack

Wesley Yamazack
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar