JavaScript tem muitas vantagens , como uma linguagem de desenvolvimento web. Sua única fraqueza gritante é ponto flutuante, ou decimais, cálculos. Enquanto as operações de inteiros em JavaScript são consideradas confiáveis, os resultados de cálculos de ponto flutuante por vezes pode ser surpreendente. Essas surpresas são responsáveis pelo envelhecimento precoce e irritabilidade em uma grande porcentagem de programadores iniciantes . Resultados interessantes
erros em cálculos de ponto flutuante não são desconhecidos em outras linguagens de programação. Estes geralmente ocorrem em números de grande valor . JavaScript produz resultados interessantes durante as operações com valores tão baixos quanto 0,06 + 0,01. A maioria das pessoas iria oferecer 0,07 como a solução para esta equação . JavaScript resolve esta resposta como 0,06999999999999 . Perto, mas não perto o suficiente para aplicação comercial.
Formatação e Precision
JavaScript oferece duas funções, toFixed () e toPrecision () que elimina os problemas de exibição associados resultados imprevisíveis . A função toFixed () permite que você determine o número de dígitos o programa exibe depois do ponto decimal. No caso da moeda , usando o argumento num.toFixed (2) mostra apenas os dois primeiros dígitos depois do ponto decimal , com arredondamento automático . A função toPrecision ( ) apresenta uma resposta com o número total de dígitos especificado no argumento sem levar em conta a sua relação com o ponto decimal.
A Causa
arredondamento são introduzidos quando os números decimais são convertidos para cadeias binárias . Este processo é necessário porque um computador só pode funcionar com uns e zeros . Muitos idiomas superar este erro de arredondamento com a utilização de tipos de dados . Ao especificar como e com que precisão uma variável está armazenada , linguagens como C e Java reduzir esses erros. Ao declarar uma variável em JavaScript, nenhum tipo for especificado . Isso resulta em caracteres, strings, inteiros e flutua a ser tratados de forma mais ou menos da mesma forma.
Solução
A estratégia mais comumente usado para superar erros de ponto flutuante em JavaScript é a multiplicar as duas variáveis em 100 antes de executar um cálculo, utilizando a rodada function () para reduzir o erro de ponto flutuante e dividindo o produto dessa operação por 100 antes de imprimir a resposta.
< br >