Você está na página 1de 4

Se voc no conseguir visualizar esta mensagem, acesse este link

PARTNERS.BEMATECH.COM.BR

Flash TIP - Edio 144


CONHEA

Arredondamento/Truncamento nos ECFs Bematech


CADASTRE-SE

Caro Partner e Desenvolvedor Bematech,

EDIES ANTERIORES

Nesta edio de nosso Bematech Flash Tip, vamos discutir um assunto que os desenvolvedores de
automao comercial tem muitas dvidas, o arredondamento e o truncamento, suas diferenas e
quais impressoras so utilizadas.
Sero apresentadas algumas regras matemticas de como deve ser feito o arredondamento e o
truncamento nos ECFs da Bematech, lembrando que em todos os ECFs so aplicados a mesma
regra, lembrando que somente na impressora MP 4000 TH FI que faz o arredondamento, e nas
demais impressoras realizado por padro o truncamento.
As regras de arredondamento aplicam-se aos algarismos decimais situados na posio seguinte ao
nmero de algarismos decimais que se queira transformar, ou seja, se tivermos um nmero de 3
algarismos decimais e quisermos arredondar para 2, aplicar-se-o estas regras de arredondamento:

Se o algarismo decimal seguinte for menor que 5, o anterior no se modifica.


Se o algarismo decimal seguinte for maior que 5, o anterior incrementa-se em uma
unidade.
Se o algarismo decimal seguinte for igual a 5, deve-se verificar o anterior, se ele for par
no se modifica, se ele for mpar incrementa-se uma unidade.

O Arredondando a 2 algarismos decimais deveremos ter em ateno o terceiro decimal. Assim,


conforme as regras anteriores:

O
O
O
O

nmero
nmero
nmero
nmero

12,652
12,658
12,865
12,875

seria
seria
seria
seria

arredondado
arredondado
arredondado
arredondado

para
para
para
para

12,65
12,66
12,86
12,88

Ento se o nmero final for maior que 5 (cinco) ele soma 1 (assim aumentando o resultado e
deixando o nmero inteiro sem muitos nmeros) se for 5 deve-se verificar o anterior se for par no

CATLOGO DE SOFTWARE

SUPORTE E RECURSOS
ENTRE EM CONTATO

CANAIS DE SUPORTE

DOWNLOADS

TREINAMENTO EM VDEO

ACESSO EXCLUSIVO
PARCEIROS
PARTNER STORE

PAINEL DE GESTO

modifica, se for mpar incrementa-se um. Veja na pratica:


EXTRATO DE PONTOS

Primeiramente, escolhe-se a casa decimal em que se quer fazer a aproximao e depois segue-se as
seguintes regras:
FRUM

Primeira regra: Se o ltimo algarismo a ser conservado for seguido de um algarismo inferior a
cinco: Basta apenas retirar os algarismos aps o algarismo que queremos conservar. Exemplo:
Como o arredondamento para deixar o nmero 58,93497 com apenas duas casas depois da
vrgula?

Segunda regra: Se o ltimo algarismo a ser conservado for seguido de um algarismo superior a
cinco : Aumenta-se uma unidade a este ltimo algarismo e retira-se os posteriores. Exemplo: Como
deixar apenas duas casas depois da vrgula no nmero 93,58746?

Terceira regra: Se o ltimo algarismo a ser conservado for seguido de um algarismo igual a cinco ,
devemos seguir o seguinte procedimento:
- (a) Se o algarismo a ser conservado for mpar, soma-se uma unidade ao algarismo a ser
conservado e retira-se os posteriores. Exemplo: Como deixar o nmero 667,4756 com duas casas
aps a vrgula?

- (b) Se o algarismo a ser conservado for par e ao algarismo 5 subsequente seguir-se pelo menos
um algarismo diferente de zero, soma-se uma unidade ao algarismo a ser conservado e retira-se os
posteriores. Exemplo: Como deixar o nmero 667,4856 com duas casa depois da vrgula?

-(c) Se o algarismo a ser conservado for par e ao algarismo 5 subsequente seguir-se somente
algarismos zero , no haver modificao, somente retira-se os algarismos posteriores. Exemplo:
Como deixar o nmero 667,4850 com duas casa depois da vrgula?

Cabe ressaltar finalmente, que no se deve fazer arredondamentos sucessivos (ex.: 27,2462 passa a
27,2 e no para 27,25 e depois para 27,3). Caso se faa necessrio um novo arredondamento
recomendado o retorno aos dados originais.
Esse processo acima se refere ao arredondamento que somente na impressora MP 4000 TH FI que
funciona essa equivalncia. Agora vamos ver um pouco sobre o truncamento que se encaixa em
todos os modelos da Bematech, pois esse processo j sai de fbrica dessa forma.
O truncamento a ao de truncar um determinado valor, aplicado principalmente em suas casas
decimais. Ele ocorre quando ignoramos os valores de um determinado clculo que possua uma
quantidade maior de casas decimais do que a quantidade determinada para trabalho, por exemplo:
Digamos que a multiplicao da quantidade pelo valor unitrio do item resulte em um nmero com
cinco casas decimais, sendo que sua apresentao final deve possuir apenas duas casas decimais:
Quantidade
7,987
5,589

X
X
X

V. Unitrio
5,98
6,48

=
=
=

Resultado
47,76226
36,21672

Truncado
47,76
36,21

Se esse ltimo algarismo for maior que 5 incrementamos o algarismo da anterior em uma unidade.
Por exemplo veja o nmero 3,541834197, se realizar o truncamento na com 3 casas decimais depois
da vrgula teremos 3,541. Se realizarmos o arredondamento com o mesmo nmero de casas termos
3,542. Isso pois o dgito seguinte ao 1 8 maior que 5, portanto incrementamos em 1 unidade o
dgito 1. Fica fcil de ver que o truncamento tem erro maior. Pois erro mximo do truncamento est
na ordem de 9. 10^-(n+1) onde n nmero de casas decimais do truncamento e erro do
arredondamento na ordem de 5. 10^-(n+1).
Para realizar impresses com o arredondamento ou o truncamento, voc deve visualizar a funo
Bematech_FI_VendeItemArredondamentoMFD que vende o item com arredondamento ou
truncamento. Para essa funo, Imagine que h duas alquotas com o valor 12% cadastradas na
impressora. A primeira cadastrada na posio 01 como ICMS e a outra na posio 05 como ISS. Se
voc informar o valor 1200 ou 12,00 no parmetro "alquota" a funo ir imprimir o item usando a
alquota 01 de ICMS. A funo l as alquotas da impressora e usa o ndice da primeira ocorrncia.
Para usar a alquota de ISS voc dever passar o ndice 05 e no o valor 1200 ou 12,00. Se voc
no tiver duas alquotas com o mesmo valor cadastradas na impressora use sempre o valor no

parmetro alquota. O cupom fiscal deve estar aberto.


Veja os Exemplo a seguir:
//Exemplo em Visual Basic
iRetorno = Bematech_FI_VendeItemArredondamentoMFD("123", "Caneta", "1200", "UN", "1,000",
"0,250", "00,00", "00,00", true)
// Exemplo em Delphi
cCodigo := 123;
cDescricao := Caneta;
cAliquota := 1200;
cUnidade := UN;
cQtde := 1,000;
cValor := ,250;
cValorDesc := 0,00;
cValorAcre := 0,00;

iRetorno := Bematech_FI_VendeItemArredondamentoMFD( pchar( cCodigo ), pchar( cDescricao ),


pchar( cAliquota ), pchar( cUnidade ), pchar( cQtde ), pchar( cValor ), pchar( cValorDesc ), pchar(
cValorAcre ), true );
Caso tenha dvidas, entre em contato conosco atravs de nossos canais de atendimento.
Forte abrao e boas implementaes!
Equipe BSP Bematech MAIS Software Partners
Bematech S/A

Para garantir que nossos comunicados cheguem em sua caixa de entrada,


adicione o e-mail bematechmais.partners@bematech.com.br ao seu catlogo de endereos.
A Bematech respeita a sua privacidade e contra spam na rede.
Se voc no deseja mais receber nossos e-mails, cancele sua inscrio aqui.

"Esta mensagem endereada exclusivamente ao seu destinatrio e poder conter informaes confidenciais. O uso
no autorizado de tais informaes proibido e estar sujeita a penalidade cabvel.
This message is intended exclusively for its addressee and may contain information that is confidential.
Unauthorized use of such information is prohibited and subject to applicable penalties".