Minha esposa e eu temos uma planilha para acertar nossas finanças no início de cada mês e este mês tem uma figura estranha no celular F9
.
A fórmula na célula F9
é ="+ £"&-'Sue''s Outgoings'!C13&" Shortfall"
que deve gerar + £57.35 Shortfall
, mas gera + £57.3500000000001 Shortfall
.
Para tentar solucionar isso, coloco =-'Sue''s Outgoings'!C13
na célula F13
que gera exatamente o que está em 'Sue''s Outgoings'!C13
que é 57,35. (veja a segunda imagem abaixo)
Todas as células na Sue's Outgoings
planilha são formatadas para Currency
formatar e reformatei temporariamente todas as células General
para ver se havia uma figura estranha oculta lá e não havia nada. Todas as figuras na Sue's Outgoings
folha são figuras diretas e não resultados de fórmulas.
Que outra razão poderia haver para a adição espúria de 0,0000000000001 ao resultado?
O Excel usa matemática de ponto flutuante, o que significa que às vezes há esses dígitos ocultos em seus valores. ( https://docs.microsoft.com/en-US/office/troubleshoot/excel/floating-point-arithmetic-inaccurate-result )
Eles geralmente são exibidos corretamente, no entanto, quando você os converte em texto, eles podem causar problemas, uma solução alternativa é usar ROUND em sua fórmula:
Para adicionar uma correção em vez de uma solução alternativa para o problema, siga a página do Microsoft Docs vinculada por @MátéJuhász :
Se você estiver trabalhando em planilhas que são puramente baseadas em dinheiro, como estou aqui, ou qualquer outra coisa com um número fixo de casas decimais, você pode definir a planilha para "precisão conforme exibido".
Então não há necessidade de se preocupar com erros matemáticos de ponto flutuante que precisam ser resolvidos
ROUND()
.Você está pedindo ao Excel para exibir um número no meio de uma string de texto sem informar qual formato usar ou de qualquer outra forma solicitando que ele perceba que você pode querer descobrir a melhor forma de exibir isso.
O arredondamento é uma opção aqui, mas geralmente acho que é uma boa prática dizer ao Excel de forma inequívoca como você gostaria que esse número aparecesse no meio deste texto (estou usando um formato simples de duas casas decimais aqui:
Como alternativa, você pode fazer tudo apenas puxando o número e usando um formato de número personalizado como este (observe que ele exibe números positivos e negativos como positivos, com rótulos diferentes):
Há muito tempo, os programadores de computador decidiram não armazenar números decimais perfeitamente.
Teoricamente , a raiz quadrada de dois pode ser armazenada em um computador.
Isso é pelo mesmo motivo que quando você usa caneta e papel para escrever o símbolo a seguir, NÃO requer uma quantidade infinita de papel e tinta.
Na prática, os programadores de computador não usam números decimais precisos. Assim, toda vez que você soma, subtrai, multiplica ou divide, introduz um erro de arredondamento.
Se você quiser saber mais, você pode pesquisar no Google "Número de ponto flutuante de precisão simples IEEE".