Sei sulla pagina 1di 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".

Potrebbero piacerti anche