Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Pessoal como vocês estão efetuando o calculo do valor total do produto e valor total da nota fiscal, pois hoje as casas decimais estão desta forma:

Detalhamento do produto:

vUnCom e vUnTrib possui tamanho 21 e decimal 10 (21,10)

vprod possui tamanho 15 e decimal 2 (15,2)

Total da NF-e

vprod e vnf possui tamanho 15 e decimal 2 (15,2)

Agora vamos fazer o seguinte calculo:

Qtd. | V. Unit. | V. Total (vprod tem que ser 2 casas decimais)

3 -- x 15,866 = 47,598

5 -- x 12,354 = 61,77

7 -- x 9,654 = 67,578

1 -- x 10,234 = 10,234

--------------------------

Total do produto com 2 (duas) casas decimais 187,16

Total do produto com 10 (dez) casas decimais 187,18

Se você truncar os valores 47,598 fica 47,59

Se você truncar os valores 61,77 fica 61,77

Se você truncar os valores 67,578 fica 67,57

Se você truncar os valores 10,234 fica 10,23

---------------------------------------------

187,18 - 187,16

E agora o valor total teria que ser 187,18 mas se você efetuar a soma considerando somente 2 casas após vigula o valor total fica 187,16 e quando for enviado a nota para a sefaz vai ocorrer erro que a soma do total dos itens não bate com o valor total do produto.

Att.

Carlos Fitl.

  • Moderadores
Postado

Oi Carlos Alberto Fitl

Se você truncar os valores 47,598 fica 47,59

Se você truncar os valores 61,77 fica 61,77

Se você truncar os valores 67,578 fica 67,57

Se você truncar os valores 10,234 fica 10,23

Soma=47,59+61,77+67,67+10,23=187,16

Eu creio que o correto seria você arredondar e não truncar.

Arredondando vc teria os valores

Regra de arredondamento

1) 47,598 fica 47,60 (pois o 3 digito é igual ou superior a 5 )

2) 61,77 fica 61,77

3) 67,578 fica 67,58 (pois o 3 dígito é igual ou superior a 5)

4) 10,234 fica 10,23 ( não muda pois o 3 digito é menor do que 5)

Somando 47,60+61,77+67,58+10,23=187,18

Em tempo, vc deve ter uma função na linguagem que vc usa para fazer o arredondamento.

Eu uso Round(numero,dec). Ex.: Round(41.598,2) => 41,60


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

Postado

Carlos,

Acredito que não exista certo ou errado em usar arredondamento e truncamento, o fato é que você terá que assumir um dos dois para obter o vProd (do item) com duas casas decimais, só então depois é deverá somá-los todos e assim obter o vProd do total da Nota. Assim nunca daria errado.

Espero ter ajudado,

Fabrício Gomes Araújo

Postado

Ok você pode fazer um round olha o problema do round:

1.600 -- X -- 18,637 = 29.819,20 Sem round

1.800 -- X -- 19,636 = 35.344,80 Sem round

1.600 -- x 18,637 (arredonda pra 18,64) = 29.824,00

1.600 -- x 19,636 (arredonda pra 19,64) = 35.352,00

1º Item deu uma diferença de R$ 4,80

2º Item deu uma diferença de R$ 7,20

Diferença final de R$ 12,00

Att.

Carlos Fitl.

  • Moderadores
Postado

Oi Carlos, quando eu sugeri o arredondamento eu estava considerando que no DANFE você estaria com 3 decimais na coluna V.UNITÁRIO e com 2 decimais na coluna V.TOTAL. Eu sugeri o arredondamento na coluna V.TOTAL

Seguindo o teu primeiro exemplo ficaria:


QUANT. |  V.UNITÁRIO  |   TOTAL   |  

    3  |   15,866     |    47,60  |

    5  |   12,354     |    61,77  |

    7  |    9,654     |    67,58  |

    1  |   10,234     |    10,23  |

===================================

                          187,18

===================================


No segundo exemplo não dá diferença, seguindo o mesmo raciocínio.

QUANT. |  V.UNITÁRIO  |   TOTAL   |  

1.600  |   18,637     |  29.819,20|

1.800  |   19,636     |  35.344,80|

===================================

                         65.164,00

===================================



logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

  • Este tópico foi criado há 4976 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.