Cálculos decimais em JavaScript

Escrito por finn mccuhil | Traduzido por joao marcos padua filho
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Cálculos decimais em JavaScript
O JavaScript pode ter problemas na conversão de valores para binários (Jupiterimages/Photos.com/Getty Images)

O JavaScript possui muitas vantagens, como linguagem de desenvolvimento Web. Sua grande fraqueza se dá no momento de realizar cálculos com números em ponto flutuante ou decimal. Enquanto operações com inteiros são consideradas confiáveis em JavaScript, os resultados de cálculos em ponto flutuante podem causar surpresas, sendo responsáveis ​​pelo envelhecimento precoce e alto grau de irritabilidade de uma grande parte dos programadores iniciantes.

Outras pessoas estão lendo

Resultados interessantes

Erros em cálculos com ponto flutuante não são desconhecidos em outras linguagens de programação. Eles geralmente ocorrem com números grandes. O JavaScript produz resultados interessantes durante operações com valores pequenos como 0,06 + 0,01. A maioria das pessoas colocaria 0.07 como resultado dessa equação. No entanto o JavaScript daria a resposta 0.06999999999999. Próximo, mas não o suficiente para uma equação comercial.

Formatação e precisão

O JavaScript oferece duas funções, toFixed() e toPrecision(), que eliminam problemas relacionados a resultados imprevisíveis. A toFixed() permite que você determine o número de dígitos que o programa deve considerar após a vírgula. Em caso de valores monetários, usar o argumento num.toFixed(2) exibirá apenas os dois primeiros dígitos após a vírgula com arredondamento automático. Já a função toPrecison() gera uma resposta com o total de dígitos especificados no argumento sem relação com a vírgula.

A causa

Erros de arrendondamento ocorrem quando número decimais são convertidos para strings binárias. Esse processo é necessário, pois um computador só é capaz de trabalhar com uns e zeros. Muitas linguagens tratam esse erro de arrendondamento utilizando tipos de dados. Especificando como e com qual precisão uma variável é armazenada, linguagens como C e Java reduzem esses erros. Quando se declara uma variável em JavaScript, o tipo não é especificado. Isso resulta em caracteres, strings, inteiros, e pontos flutuantes sendo tratados basicamente da mesma maneira.

Solução

A estratégia mais utilizada para tratar os erros com pontos flutuantes em JavaScript é multiplicar ambas as variáveis por 100 antes de fazer o cálculo, usando a função round() para reduzir o erro e então dividindo o produto dessa operação por 100 antes de imprimir a resposta.

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível