Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 1680 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Bom noite... segue o código...


if (qProdTmpCSOSN.AsString = '101') then begin

   pCredSN := 1.86;

   vCredICMSSN := qProdTmpVLTOTAL.Value*1.86/100;

end;

Se qProdTmpVLTOTAL.Value = 99,99 o vCredICMSSN será R$ 1,8598

O certo seria truncar para R$ 1,85 ou arredondar para R$ 1,86 ?

Obrigado

Equipe ACBr Sérgio Assunção
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

[email protected]

Postado

Se a terceira casa após a vírgula for maior que 5, você arredonda para cima.

Se for menor que 5, mantém o número da segunda casa.

Ex.:

0,128 = 0,13

0,124 = 0,12

  • Moderadores
Postado

E se ela for IGUAL a 5? ;-)

0-1-2-3-4 = Arrendondar para baixo

0,123 = > 0,12

5-6-7-8-9 = Arrendondar para cima

0,125 = 0,13

Equipe ACBr Henrique Leonardo
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Tecnólogo em processamento de dados

E-mail [email protected] - Skype : hleorj

Postado

Não é tão simples... porque o ZERO não existe nesta lista (pois zeros à direita após a vírgula não têm valor, lembra?). Na verdade é preciso estipular uma "regra de desempate" para usar quando o algarismo for 5, pois 0,125 está EXATAMENTE no meio entre 0,12 e 0,13. Uma das regras, por exemplo, usa o algarismo anterior para desempatar: "se depois do 5 não tiver número significativo, observa-se o algarismo anterior, se for par conserva e se for ímpar aumenta." [1]

1-2-3-4 = arredonda pra baixo

6-7-8-9 = arredonda pra cima

5 = usa alguma regra de desempate

[1] http://professor.ucg.br/SiteDocente/adm ... AMENTO.doc

Alexsander da Rosa

Rednaxel Informática

http://rednaxel.com

  • Moderadores
Postado

Não é tão simples... porque o ZERO não existe nesta lista (pois zeros à direita após a vírgula não têm valor, lembra?). Na verdade é preciso estipular uma "regra de desempate" para usar quando o algarismo for 5, pois 0,125 está EXATAMENTE no meio entre 0,12 e 0,13. Uma das regras, por exemplo, usa o algarismo anterior para desempatar: "se depois do 5 não tiver número significativo, observa-se o algarismo anterior, se for par conserva e se for ímpar aumenta." [1]

1-2-3-4 = arredonda pra baixo

6-7-8-9 = arredonda pra cima

5 = usa alguma regra de desempate

[1] http://professor.ucg.br/SiteDocente/adm ... AMENTO.doc

hehe .. teste no Excell

Coloque num campo

0,1253

0,1252

depois = ARRED( 0,1252;2)

Em Delphi = Roundto( 0,1252 , -2 );

Equipe ACBr Henrique Leonardo
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Tecnólogo em processamento de dados

E-mail [email protected] - Skype : hleorj

Postado

Você não entendeu...

Claro q sim .. Alexsander

Sem problemas .e vamos para outra.

Você não entendeu! Eu usei o exemplo de 0,125 que pode ser 0,12 ou 0,13 conforme a "regra de desempate" escolhida pelo aplicativo (ou humano). Você usou os exemplos 0,1253 e 0,1252 que, obviamente, devem ser arredondados SEMPRE para 0,13 porque não requerem desempate, visto que HÁ algarismo depois do 5. Leia o artigo que indiquei pra entender.

Eu nem deveria estar dando explicação, mas 7 anos como professor universitário me deixaram com este hábito...

Alexsander da Rosa

Rednaxel Informática

http://rednaxel.com

Postado

Amigos,

No meu caso vou utilizar Truncamento. Percebi que nos Cupons Fiscais (ECF) é utilizado o Truncamento para calcular a Base de Cálculo e o ICMS e no meu caso vou emitir a NF-e posteriormente à emissão do Cupom Fiscal, então acredito que o cálculo de ambos documentos fiscais devem ser iguais.

Tinha criado um tópico onde apresento as opções de Cupom Fiscal e a devida Base de Cálculo e o ICMS a pagar, assim dá para entender do que estou falando quando cheguei a conclusão de efetuar o Truncamento.

Fabrício Gomes Araújo

  • 9 anos depois...
Postado

Olá pessoal, aproveitando esse fórum... qual a melhor estratégia a se adotar seguindo as exigências da sefaz para  arredondamento de impostos (ICMS/IPI)? Não consigo encontrar algo concreto que me direcione ao arredondamento ou truncamento.

  • Este tópico foi criado há 1680 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...