Arredondamento

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

cainelli
Usuário Nível 1
Usuário Nível 1
Mensagens: 39
Registrado em: 06 Nov 2004 11:14
Localização: Promissão/SP

Arredondamento

Mensagem por cainelli »

Caros Colegas,

Tenho um cliente, posto de gasolina, q adiquiriu recentemente um ECF Bematech MP-25, o qual não aceita comando para
arredondamento.
No meu programa, peço o código do produto e após o valor total do abastecimento, então faço o cálculo dividindo o
valor pelo preço p/ litro para achar a qtdd de litros do abastecimento.
Ao enviar ao ECF mando a Qtdd de litros calculada e o Preco p/ litro. Aí onde ocorrem diferenças de centavos.

Exemplo: Cod. 1 Alcool Preço p/ litro R$ 1,169
Abastecimento de R$ 1,00 daria 0,855 litros
0,855 * 1.169 da R$ 0,999495 q truncado fica R$ 0,99

O inverso, pedir o codigo e a qtdd e calcular o preco final truncando como a impressora eu já consegui, mas esta
situação (de postos de gasolina) não sei como resolver.

Peço aos colegas q passaram ou estão passando por este problema q me indiquem como sulucionaram.

Obrigado,

Marcello.
Avatar do usuário
Anderson J. Freitas
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 19 Fev 2005 10:34
Localização: Caratinga-MG

Mensagem por Anderson J. Freitas »

Já tentou assim @.... say transform(quantidade*valor,"@E 999,99")
Pitbull

Clipper 5.2e, Exospace, Six2, DBMax
Avatar do usuário
Anderson J. Freitas
Usuário Nível 1
Usuário Nível 1
Mensagens: 46
Registrado em: 19 Fev 2005 10:34
Localização: Caratinga-MG

Mensagem por Anderson J. Freitas »

Opa!
Informação errada, tem é uma ponto (.) entre os noves

Já tentou assim @.... say transform(quantidade*valor,"@E 999.99")
Pitbull

Clipper 5.2e, Exospace, Six2, DBMax
Visitante

Mensagem por Visitante »

Vamos lá...

Você recebe o valor completinho?

Você sabe o número máximo de casas decimais que virá?

Já tentou o Set Decimals to número de decimais?

Tipo (5 dígitos decimais)

Set Decimals to 5
Set fixed on

Tente e retorne.
Everton
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 07 Jul 2004 08:53
Localização: Campo Grande - MS

Mensagem por Everton »

Olá Marcelo.


Estou tendo o mesmo problema em meus cliente de postos, e já tentei de tudo e nada de dar certo, se vc tiver algo de novo me avise, pois antes com as impressoras MP 20 FI II, não acorria esse problema pelo motivo do truncamento, mas agora não existe mais o arredondamento.
Everton Luiz Penteado
Clipper 5.2b - Blink 7.0
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Mensagem por vagucs »

Podem tentar truncar o valor assim

É uma gambiarra mas funciona.

Código: Selecionar todos

function trunca(valor)
return val(left(tansform(valor,"9999999999.999"),13))
Isto irá eliminar a terceira casa decimal sem alterar o valor, truncando assim ela e vc não terá os problemas de arredondamento.
Sem mais
Wagner Nunes
www.vagucs.com.br
Responder