Tablora

Tablora · Biblioteca

Verificar 0.10 mais 0.20 com decimais exatos

Confira que 0.10 mais 0.20 é exatamente 0.30 com aritmética decimal, para comparar um total informado sem os artefatos de exibição do ponto flutuante.

Por que 0.1 mais 0.2 pode parecer errado

Muitos programas armazenam números em ponto flutuante binário, em que 0.1 e 0.2 não têm representação exata. Some os dois e o resultado armazenado fica um fio acima de 0.3; dependendo da formatação, você pode ver 0.30000000000000004 ou uma comparação dizendo que os valores não são iguais. Em uma conciliação, esse tipo de artefato parece uma divergência que na verdade não existe.

O verificador de somas decimais evita isso. Ele lê cada valor como uma sequência decimal, ajusta todos os valores ao mesmo número de casas decimais e os soma como números inteiros, então 0.10 e 0.20 somam exatamente 0.30.

Inserindo as linhas

Resultado para 0.10 e 0.20

Com os valores 0.10 e 0.20 e um “Total esperado” de 0.30, o “Total calculado” é 0.30, a “Diferença” é 0.00 e “Os totais coincidem” mostra “Sim”. O resultado mantém duas casas decimais porque esse é o maior número de casas entre as entradas e o total esperado.

A “Diferença” é sempre o total calculado menos o total esperado, então uma diferença negativa significa que as linhas inseridas não chegam ao valor informado.

Preparando valores de uma tabela real

Valores copiados de um extrato raramente chegam no formato padrão. Passe a coluna antes pela ferramenta de normalização, escolhendo os separadores decimal e de grupos que o documento usa, e depois copie os valores convertidos para o verificador. Um valor que a ferramenta de normalização reteve para conferir não está pronto para a soma; resolva-o antes de confiar no total.

O verificador faz aritmética exata com o que você insere e nada mais. Ele não converte moedas, não aplica regras de impostos ou de arredondamento e não diz se todos os registros foram inseridos.

Entradas que o verificador recusa

Dados de entrada

Um valor por linha
0.10 0.20
Total esperado
0.30

Resultados

Total calculado
0.30
Diferença
0.00
Os totais coincidem
Sim