Truncar/Arredondar na ecf

Fórum sobre outras linguagens de programação.

Moderador: Moderadores

negrao
Usuário Nível 3
Usuário Nível 3
Mensagens: 186
Registrado em: 06 Jul 2004 08:38

Truncar/Arredondar na ecf

Mensagem por negrao »

Mocada, ve se tem como me ajudar.
O meu cliente usa balanca(ela arredonda).
A ecf que eu uso so trunca,e no final de cada venda sai um troco de 0,01

Ex: 1,984 * 6,9 = 13,689
Como eu arredondo , na tela sai 13,69 so que no cupom 13,68
Como é a ecf que faz a conta nao posso fazer nada e nao to achando saida.

obrigado por qqer ajuda.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Truncar/Arredondar na ecf

Mensagem por Pablo César »

Não sei em que linguagem você está se referindo colega. Mas acho que ja ví um tópico similar em que o valor obtido vinha com vírgula e para cáculos deve ser com "ponto" para decimal. Outra coisa, para garantir o valor certo você poderia trabalhar com 3 casa decimais e até mesmo transformar em string, pegar até a segunda casa decimal desprezando o resto e depois transformar para numérico.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: Truncar/Arredondar na ecf

Mensagem por alaminojunior »

Esse problema já foi muito discutido aqui neste fórum e em outros. Mas felizmente já foi superado. Use a busca que com certeza vai encontrar.
Como as balanças só arredondam, e os ECF´s arredondam e na maioria das vezes truncam, não existe uma maneira exata de compatibilizar os resultados de ambos. Sendo assim adota-se duas alternativas:

1ª A etiqueta da balança vem com o valor total e o código do item;
o sistema lê e vai buscar na tabela de produtos o valor unitário;
faz o calculo inverso para obter o preço por kg;
com o preço por kg, multiplica pelo peso e confere com o total da etiqueta;
se bater, abraço;
se não bater, vai somando ou diminuindo 0,001 ao peso, e multiplicando pelo preço por kg até bater; (e algumas vezes não bate, acredite)
se mesmo assim não se chegar ao equilíbrio, você faz bater na marra, usando o valor que mais se aproxima, de maneira que os 2 dígitos decimais do valor total batam, e com isso o ecf informe o valor total corretamente e o peso alterado em alguns centésimos.

2ª A etiqueta da balança vem com o valor total e o código do item;
o sistema lê e vai buscar na tabela de produtos o valor unitário;
faz o calculo inverso para obter o preço por kg;
com o preço por kg, multiplica pelo peso e confere com o total da etiqueta;
se bater, abraço;
se não bater, manda-se para o ecf 01 unidade do produto e coloca-se na descrição, a conta: pesoXunitário e como valor unitário o valor total da etiqueta.
Esta sería a maneira menos profissional e que vai dar furo no estoque.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
sambomb
Usuário Nível 3
Usuário Nível 3
Mensagens: 250
Registrado em: 24 Out 2008 17:02
Localização: Itaocara - RJ - Brasil

Re: Truncar/Arredondar na ecf

Mensagem por sambomb »

Existe a possibilidade de forçar o ECF a truncar/arredondar
Não me recordo agora se isso procede para os ECF's matriciais, mas existe essa possibilidade sim..
Imagem

Rca Sistemas - Itaocara - RJ
Responder