1
resposta

Uma Observacao quanto a valores.

valores financeiros NÃO sao armazenados em formato fracionado por tipo de variavel, e sim na forma inteira e quando expostos sao divididos por 100 para expressar os centavos.

flout /double ... podem gerar variações de acordo com o processador e desta forma gerar erros ou falhas

por exemplo considerando 100 reais seria armazenado de forma inteira 10000 que na hora de mostrar seria mostrado 10000/100 =100,00 neste caso ainda se eu divido os 100 reais (10000) por 3 eu tenho inteiro 3333 (sim 1 centavo vai sumir) mas eu sei que sumiu e nao ficou perdido no processador e na hora de mostrar vai aparecer 33,33.

40 anos atras trabalhando com contabilidade e usando uma variavel numerica aconteceu um erro que passei um dia tentando descobrir onde o programa estava errado, até que mandei ele mostrar cada passo da operacao que estava executando E EIS O FATO, hora o programa dividia 100/3 e dava 33,33 em um momento la na frente ele dividiu 100/3 e deu 33,34 e no final do relatorio dava um erro de 1 centavo.

por isso nao uso variaveis fracionarias para operacao financeira, e alias, que eu saiba nenhum banco usa

1 resposta

Boa tarde, bom demais amigo!

Valeu por compartilhar