El formato IEEE754 se usa para representar valores de puntos enteros y flotantes.
Valor del punto flotante: este valor debe contener un punto decimal, y debe haber al menos un número después del punto decimal. Los valores del punto flotante requieren el doble del espacio de memoria tanto como el valor entero. La mayor precisión es 17 como decimal, pero su precisión es mucho menor que la de los enteros al realizar operaciones aritméticas.
Varios tipos numéricos: decimal, octal (inválido en modo estricto), hexadecimal
El primer bit del literal octal debe ser 0, seguido de la secuencia del número octal (0 ~ 7). Si el valor numérico en el valor literal está fuera de rango, el 0 líder se ignorará y el valor numérico posterior se analizará como un número decimal
070 // 56079 // 79
Los primeros dos dígitos del literal hexadecimal deben ser 0x seguidos de los dígitos hexadecimales (0 ~ 9 y A ~ f). Las letras a ~ f pueden ser dimensionadas o minúsculas
0xa // 10
Al realizar cálculos aritméticos, todos los valores expresados en octal y hexadecimal eventualmente se convertirán en valores decimales
Rango de valor:
Si se obtiene un valor fuera del rango de valor de JavaScript en el resultado de un cálculo, entonces este valor se convertirá en un valor de infinito especial, que no puede participar en el siguiente cálculo porque el infinito es un valor que no puede participar en el cálculo. Si este número es positivo, se convierte en infinito (positivo infinito), y si este número es negativo, se convierte en infinidad (infinito negativo).
-10/0 //-Infinity10/0 // Infinity
ISInFinite () determina si un número es finito.
VAR result = Number.Max_Value + Number.max_valueconsole.log (isfinity (resultado)); // falso
Yaya
console.log (nan === nan) // falso0/0 // nan
ISNAN: reciba un parámetro e intentará convertir este valor en un valor numérico, devolviendo un valor booleano
console.log (isnan ('10 ')); // falseconsole.log (isnan (' bb ')); // trueConversión numérica
Hay 3 funciones que pueden convertir los valores no numéricos en valores numéricos
Número (): utilizado para cualquier tipo numérico.
1.NULL
Número (nulo) // 0undefinedNumber (indefinido) // nan
2. Valor booleano
Número (verdadero) // 1Number (falso) // 0
3. Cadena
Número ('bb') // nan, número de caracteres no numérico ('123') // 123, número de caracteres numéricos ('') // 0, cadena vacía4. Objeto
Si es un objeto, llame al método valuef () del objeto y luego convierta el valor devuelto de acuerdo con las reglas anteriores. Si el resultado de la conversión es NAN, se llama al método ToString () del objeto y el valor de cadena devuelto se convierte nuevamente de acuerdo con las reglas anteriores.
5.ParseInt ()/parsefloat (): se usa para convertir una cadena a un valor numérico.
parseInt (): comience a analizar desde la primera cadena hasta que se analice a caracteres no numéricos. Se pueden aceptar dos parámetros. El segundo parámetro representa un binario diferente y se convierte en un número decimal de forma predeterminada.
parseInt ('') // nan, cadena vacía parseint (22.4) // 22parseInt ('12bu') // 12parseInt ('10', 2) // 2ParseInt ('10', 8) // 8Parsefloat (): inicie el parsante de la primera cadena, el primer punto decimal es válido, ignora el lideraz parsefloat ('' ') // nanparsefloat (' 090 ') // 90parsefloat (' 2.3.4 ') // 2.3Resumir
Palabra:
Error de redondeo
var x = .3 - .2 var y = .2 - .1 x == yx == .1 // => falso .3 -.2 no es igual a ./ y == .1 // => verdadero .2 - .1 es igual a .1 .1