[RESOLVIDO] Dúvida em como fazer cálculos

Prezados,

Estou com uma necessidade e não sei como resolver.

Tenho uma aplicação que possui alguns campos no Banco de Dados MySQL como decimal 10,2 e no Scriptcase está da mesma forma, Tipo do dado Decimal com 2 casas decimais.

Nestes campos eu faço algumas operações matemáticas e tudo funciona 100%

Agora o cliente solicitou que ele precisa em alguns casos trabalhar com 4 casas decimais e em outros, a maioria, somente 2 casas.

Como eu posso resolver isto?

Se mudar no MySQL e colocar 4 casas funciona somente com duas e ele completa o resto com zeros, mas na aplicação, se eu colocar o campo com 4 casas, sempre terão que ser digitadas as 4 casas e aparecerão sempre 4 casas nas consultas e relatórios.

Vocês podem me dar uma luz para resolver isto?

Bom final de semana para todos.

[]'s

O campo é o mesmo? Hora tem que aparecer com duas hora com 4 casas decimais?
De que se trata este campo?
[]s

Olá Allan,

É um campo numérico, no MySQL como Decimal 2 casas (10,2) e neste campo serão colocados valores como: “100,02”, “198,97”, etc…

Os cálculos são simples, um menos o outro e algumas fórmulas.

O problema é que alguns terão que ter 4 casas decimais e não duas.

Colocar isto no BD como Decimal 10,4 pode ser feito, mas na aplicação se colocar 4 casas, todas, terão que ter 4 casas, inclusive as com duas.

[]´s

Maurélio,
É pq conceitualmente, se o campo representa um valor (distância, volume, valor R$ etc) ele deve ter sempre a mesma quantidade de casas decimais. Inclusive para se fazer cálculos.
Por exemplo se for distância, não tem sentido uma hora ser 300,4329 Km e daqui a pouco ser 200,15 Km entende?
[]s

Eu entendi e é desta forma que está funcionando.
O problema é a necessidade do cliente, onde o número de casas decimais poderá variar de acordo com a necessidade.
Uma ideia seria deixar o campo como varchar e nele o cliente digitar a quantidade desejada, mas o problema é fazer os cálculos com estes números.
Não sei, mas poderia ler o conteúdo do campo, ver uma forma de fazer os cálculos necessários e depois gravá-los novamente.
Preciso fazer uns testes para ver se isto funcionaria.
Obrigado pela ajuda.
[]´s

Allan, desculpa, mas dependendo da situação a quanridade de casas decimais de um campo quantidade pode mudar conforme sua unidade. Exemplo, quantidade de um produto de um item de Vendas, se a unidade desse produto for peças pode ser inteiro, se for metros pode ser decimal com duas casas, se for litros de gazolina pode ter 3 casas decimais.

Haroldo,

É mais ou menos isto mesmo, mas em que tipo de campo devo configurar a base de dados e também, no Scriptcase, como deixar a quantidade de casas decimais podendo variar.

Fiz um teste deixando o campo como texto, mas ai não consigo fazer os cálculos necessários nos eventos ajax onchange, como estou fazendo atualmente.

[]´s

Concordo Haroldo,
Não tinha pensado nesta possibilidade.
Neste caso acho que não tem alternativa no SC. Pelo menos não consigo ver uma saída.
[]s

A entrada eh complicado, mas as consultas nao eh dificil.

No banci tem que ser decimal com 4 casas decimais pelo menos.
No formulario vc pode ter um campo manual texto alinhado a direita, so aceintando umeros e virgula, o campo quantidade fica escondido, na onchange do campo texto vc atualiza quantidade.
Na onload vc atualiza o campo texto passando uma função nele que despreze os zeros a direita da parte decimal.

Haroldo,

Vou tentar fazer desta forma.

Obrigado.

[]´s

Olá Haroldo,

Apenas para informação, sua sugestão foi perfeita e funcionou da forma que eu preciso.

Obrigado.
MA