Arredondar, truncar, arredondar para cima e o problema do 0,1 + 0,2 — tudo sobre casas decimais na calculadora
A diferença entre arredondar, truncar e arredondar para cima, o tratamento de frações da moeda, o arredondamento bancário, por que no computador 0,1 + 0,2 dá 0,30000000000000004 e como esta calculadora lida com isso.
Cálculos de porcentagem envolvem muitas divisões e multiplicações com decimais, então quase nunca dão resultados exatos. Mesmo no mesmo cálculo, a forma de tratar as casas finais muda o resultado em alguns centavos; conhecer as regras ajuda a explicar diferenças entre recibos e orçamentos.
Três formas de tratar as casas finais
- Arredondar: se o dígito descartado for 5 ou mais, sobe; caso contrário, descarta. 1.234,5 → 1.235
- Truncar (para baixo): descarta todos os dígitos a partir do ponto de corte. 1.234,9 → 1.234
- Arredondar para cima: se o dígito descartado não for 0, sobe. 1.234,1 → 1.235
Também é possível mudar a unidade. R$ 12.345 truncado para múltiplos de R$ 10 vira R$ 12.340; arredondado para múltiplos de R$ 100, R$ 12.300.
Onde se usa cada um
- Imposto do IVA: na Coreia do Sul, truncar as frações abaixo de 1 won é prática comum
- Pagamento de tributos nacionais: na Coreia do Sul, pelo artigo 47 da Lei de Gestão de Fundos do Tesouro Nacional, frações abaixo de 10 won não são computadas
- Preço com desconto em lojas: varia de loja para loja, mas é comum truncar o valor do desconto em unidades de 10 ou 100
- Divulgação de estatísticas e taxas: é comum arredondar na primeira ou segunda casa decimal
- Quantidades necessárias (caixas, pessoas): como não pode faltar, arredondar para cima
Casas finais de números negativos
Arredondar −2,5 dá −3 ou −2? Esta calculadora arredonda para longe do zero, dando −3. Truncar vai em direção ao zero (−1,239 → −1,23), e arredondar para cima vai para longe do zero. É o método que aplica a mesma regra ao tamanho (valor absoluto) do número, independentemente do sinal.
Arredondamento bancário
Quando o valor está exatamente na metade (…5), vai para o número par (2,5 → 2, 3,5 → 4). É usado em alguns ambientes de contabilidade e programação para reduzir o erro que tende para um lado quando se arredonda muitas vezes. Os cálculos do dia a dia e esta calculadora usam o arredondamento comum.
Por que no computador 0,1 + 0,2 dá 0,30000000000000004
O computador armazena números em binário. Assim como 1/3 em decimal vira 0,333… sem fim, 0,1 é uma fração binária infinita, então não é armazenado exatamente, e sim arredondado para um valor muito próximo. Por isso, na maioria das linguagens, incluindo JavaScript, 0,1 + 0,2 resulta em 0,30000000000000004.
Pelo mesmo motivo, o método comum de arredondar 1,005 na segunda casa decimal (toFixed(2)) retorna 1,00, e não 1,01. Isso porque 1,005 está armazenado, na verdade, como 1,00499999….
Como esta calculadora trata isso
- Todos os resultados intermediários são ajustados a 12 algarismos significativos, eliminando o ruído da representação binária. 0,1 + 0,2 → 0,3
- O arredondamento não multiplica o número: desloca as casas em notação exponencial decimal. 1,005 → 1,01; 2,675 → 2,68
- Nas abas Desconto e IVA, você pode escolher a unidade (0,01, 1, 10, 100 etc.) e o método (truncar, arredondar, para cima) para as frações de valores monetários.
- Esse método foi validado com testes unitários em node nos casos-limite (1,005, −2,5, valores muito pequenos e muito grandes).
Casas exibidas e valor real
A configuração Casas decimais, no alto da tela, muda apenas quantas casas são exibidas. 1 ÷ 3 × 100 é internamente 33,3333333333 e aparece como 33,33 com 2 casas decimais. O botão Copiar copia o valor exibido na tela.
Resumo
Resultados que diferem em alguns centavos por causa de regras de arredondamento diferentes não são erro, e sim diferença de regra. Quando um valor não bater, verifique primeiro ① em que etapa as frações foram tratadas e ② qual unidade e método foram usados.