Amiguinhos,
jairo maia
No caso do arredondamento que você indagou, só ocorre o arredondamento para o próximo numéro par se o anterior for impar, por isso que com 4,555000 ocorreu 4,56 e com 4,885000 ocorreu 4,88.
Vejamos:
- Se os algarismos decimais seguintes forem menores que 50, 500, 5000..., o anterior não se modifica.
- Se os algarismos decimais seguintes forem maiores ou iguais a 50, 500, 5000..., o anterior incrementa-se em uma unidade.
Exemplos(para queimar pestanas)
Arredondando a 2 algarismos decimais deveremos ter em atenção o terceiro e quarto decimal. Assim, conforme as regras anteriores:
O número 12,6529 seria arredondado para 12,65 (aqui fica 12.65, uma vez que 29 é inferior a 50, então não se modifica)
O número 12,86512 seria arredondado para 12,87 (aqui fica 12.87, uma vez que 512 é superior a 500, então incrementa-se uma unidade)
O número 12,744623 seria arredondado para 12,74 (aqui fica 12.74, uma vez que 4623 é inferior a 5000, então não se modifica)
O número 12,8752 seria arredondado para 12,88
O número 12,8150 seria arredondado para 12,82 (aqui fica 12.82, uma vez que os algarismos seguintes é igual a 50, então incrementa-se uma unidade)
O número 12,8050 seria arredondado para 12,80 (aqui fica 12.80, uma vez que 050 e menor que 500)
O numero 13,4666..., se fossemos arredondar à parte inteira, será sempre arredondado para 13, pois 4666... sempre será menor que 5000... (Se fizermos o arredondamento número a número, teríamos : 13,4666... → 13,47 → 13,5 → 14, porém, isso seria afirmar que 13,4666... está mais próximo de 14 do que está de 13, que não é verdade. Portanto, não devemos arredondar o número já previamente arredondado!!!)
O jeito é fazer testes com as funções do Harbour e verificar se estão de acordo.
Arredondamento ABNT (SAT)
Moderador: Moderadores
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Arredondamento ABNT (SAT)
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Arredondamento ABNT (SAT)
Pelo que entendi, a regra de arredondamento é a tradicional, a partir de 0.5 arredonda pra cima.
Quiseram explicar demais e confundiu.
Se o round funcionar diferente, dá pra usar o Int()
Quiseram explicar demais e confundiu.
Se o round funcionar diferente, dá pra usar o Int()
Código: Selecionar todos
Round( numero, 2 )
Int( numero * 100 + 0.50 ) / 100
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Arredondamento ABNT (SAT)
Olá Pessoal,
Isso é uma verdade, mas não foi meu caso. Vejamos o que eu já disse: Entre 0 a 4 arredonda para baixo, entre 5 a 9 arredonda para cima. Ponto final.JoséQuintas escreveu:Pelo que entendi, a regra de arredondamento é a tradicional, a partir de 0.5 arredonda pra cima.
Quiseram explicar demais e confundiu.
O Round() segue a regra da IOS (International Organization for Standardization), a qual a ABNT é associada, e faz exatamente o que eu disse acima.JoséQuintas escreveu:Se o round funcionar diferente, dá pra usar o Int()
Ocorria aqui no Brasil pelas regras da ABNT de 1977, mas computadores nunca fizeram isso. Dessa forma como também já disse, em Dezembro de 2014 a ABNT se adequou e a partir de Janeiro de 2015 vale que de 0a4 para menos e 5a9 para mais.rochinha escreveu:No caso do arredondamento que você indagou, só ocorre o arredondamento para o próximo numéro par se o anterior for impar, por isso que com 4,555000 ocorreu 4,56 e com 4,885000 ocorreu 4,88.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
- luiz53
- Usuário Nível 1

- Mensagens: 34
- Registrado em: 01 Jun 2007 14:23
- Localização: Santa fe do Sul - SP
Arredondamento ABNT (SAT)
Ja havia entendido isso desde o INICIO JAIRO, mas os aparelhos do SAT não estão usando a regra NOVA então ...Ocorria aqui no Brasil pelas regras da ABNT de 1977, mas computadores nunca fizeram isso. Dessa forma como também já disse, em Dezembro de 2014 a ABNT se adequou e a partir de Janeiro de 2015 vale que de 0a4 para menos e 5a9 para mais
Inclusive A EMPRESA QUE REVENDE MEU APLICATICO e SAT é de CAMPINAS, INFOMAQ ...
ele quem fez todos os TESTES que te falei...
SAT estavam todos atualizados....
INCLUSIVE aquela IMAGEM com a REGRA foi a própria DIMEP quem nos ENVIOU...
Mesmo assim agradeço imensamente pela atenção ...
HARBOUR + FIVEWIN + ADS SERVER + MYSQL + POSTGRES + Tdolphin
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Arredondamento ABNT (SAT)
Olá Luiz,
Apenas para finalizar:
O valor dos itens têm 2 casas decimais, mas o quantitativo 3 casas decimais por decorrência da leitura de peso das balanças. Sempre usei o Round() para calcular o valor total do item e nunca tive problemas.
Nota: Trabalho com o SAT DIMEP, por consequência de acordo com um distribuidor aqui em Campinas. Mas se o cliente quiser comprar outro sem problemas, já que os SAT´s são parametrizados, ou seja, o que ocorre com uma marca obrigatoriamente ocorre com outras.
Apenas para finalizar:
Trabalho com SAT desde janeiro desse ano. Tenho clientes com Açougue, Hortifruti e Agropecuária que usam balança.luiz53 escreveu:mas os aparelhos do SAT não estão usando a regra NOVA então ...
O valor dos itens têm 2 casas decimais, mas o quantitativo 3 casas decimais por decorrência da leitura de peso das balanças. Sempre usei o Round() para calcular o valor total do item e nunca tive problemas.
Nota: Trabalho com o SAT DIMEP, por consequência de acordo com um distribuidor aqui em Campinas. Mas se o cliente quiser comprar outro sem problemas, já que os SAT´s são parametrizados, ou seja, o que ocorre com uma marca obrigatoriamente ocorre com outras.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)