O formato IEEE754 é usado para representar valores de ponto inteiro e flutuante.
Valor do ponto flutuante: esse valor deve conter um ponto decimal e deve haver pelo menos um número após o ponto decimal. Os valores de ponto flutuante requerem o dobro do espaço de memória tanto quanto o valor inteiro. A maior precisão é de 17 como decimal, mas sua precisão é muito menor que a dos números inteiros ao executar operações aritméticas.
Vários tipos numéricos: decimal, octal (inválido em modo rigoroso), hexadecimal
O primeiro bit do literal octal deve ser 0, seguido pela sequência do número octal (0 ~ 7). Se o valor numérico no valor literal estiver fora de alcance, o líder 0 será ignorado e o valor numérico subsequente será analisado como um número decimal
070 // 56079 // 79
Os dois primeiros dígitos do literal hexadecimal devem ser 0x seguidos pelos dígitos hexadecimais (0 ~ 9 e a ~ f). As letras a ~ f podem ser dimensionadas ou minúsculas
0xa // 10
Ao realizar cálculos aritméticos, todos os valores expressos em octal e hexadecimal serão convertidos em valores decimais
Intervalo de valor:
Se um valor fora do intervalo de valor JavaScript for obtido no resultado de um cálculo, esse valor será convertido em um valor especial do infinito, que não pode participar do próximo cálculo, porque o infinito é um valor que não pode participar do cálculo. Se esse número for positivo, é convertido em infinito (infinito positivo) e, se esse número for negativo, será convertido em -infinidade (infinito negativo).
-10/0 //-Infinity10/0 // infinito
isinfinite () determina se um número é finito.
var resultado = número.max_value + número.max_valueconsole.log (isfinity (resultado)); // false
Nan
console.log (nan === nan) // false0/0 // nan
ISNAN: receba um parâmetro e tentará converter esse valor em um valor numérico, retornando um valor booleano
console.log (isnan ('10 ')); // Falseconsole.log (isnan (' bb ')); // trueConversão numérica
Existem 3 funções que podem converter valores não numéricos em valores numéricos
Número (): usado para qualquer tipo numérico.
1.null
Número (nulo) // 0UNDEFINDNUMBER (indefinido) // NAN
2. Valor booleano
Número (verdadeiro) // 1Number (false) // 0
3. String
Número ('bb') // nan, número de caracteres não-numéricos ('123') // 123, número de caractere numérico ('') // 0, string vazia4. Objeto
Se for um objeto, ligue para o método ValueOf () do objeto e converta o valor retornado de acordo com as regras acima. Se o resultado da conversão for NAN, o método ToString () do objeto é chamado e o valor da string retornado será convertido novamente de acordo com as regras anteriores.
5.ParseInt ()/parsefloat (): usado para converter uma string em um valor numérico.
parseint (): comece a analisar a primeira corda até ser analisada a caracteres não numéricos. Dois parâmetros podem ser aceitos. O segundo parâmetro representa um binário diferente e é convertido em um número decimal por padrão.
parseint ('') // nan, parseint de cordas vazias (22.4) // 22Parseint ('12Bu') // 12Parseint ('10', 2) // 2ParseInt ('10', 8) // 8Parsefloat (): Inicie a Parsing da primeira corda, o primeiro ponto decimal é válido. parsefloat ('') // nanparsefloat ('090') // 90Parsefloat ('2.3.4') // 2.3Resumir
Palavra:
Erro de arredondamento
var x = 0,3 - .2 var y = 0,2 - .1 x == yx == .1 // => false .3 -.2 não é igual ./ y == .1 // => true .2 - .1 é igual a .1 .1