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.
Arredondamento
Moderador: Moderadores
- Anderson J. Freitas
- Usuário Nível 1

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

- Mensagens: 46
- Registrado em: 19 Fev 2005 10:34
- Localização: Caratinga-MG
-
Visitante
-
Everton
- Usuário Nível 3

- Mensagens: 143
- Registrado em: 07 Jul 2004 08:53
- Localização: Campo Grande - MS
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.
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
Clipper 5.2b - Blink 7.0
- vagucs
- Membro Master

- Mensagens: 1480
- Registrado em: 10 Jul 2004 10:45
- Localização: Ipanema - MG
- Contato:
Podem tentar truncar o valor assim
É uma gambiarra mas funciona.
Isto irá eliminar a terceira casa decimal sem alterar o valor, truncando assim ela e vc não terá os problemas de arredondamento.
É uma gambiarra mas funciona.
Código: Selecionar todos
function trunca(valor)
return val(left(tansform(valor,"9999999999.999"),13))