getelementbyname javascript floating-point integer

getelementbyname - Enteros en JavaScript



innerhtml (5)

En realidad, solo hay unos pocos tipos de datos en Javascript: objetos, números y cadenas. A medida que lee, los números JS son todos flotadores de 64 bits. No hay ints.

Firefox 4 tendrá soporte para arrays tipados, donde puede tener arrays de entradas reales y tales como: https://developer.mozilla.org/en/JavaScript_typed_arrays

Hasta entonces, hay maneras complicadas de almacenar matrices de enteros como cadenas y eliminar cada charCodeAt() utilizando charCodeAt() .

Soy un principiante de Javascript, así que perdóneme si me sueno tonto porque aprendí algo de Javascript de W3Fools (que son tutoriales realmente difíciles; no explican nada que quiera saber, pero todo lo que probablemente pueda adivinar de mi experiencia con C ++ ).

Es posible que me esté cambiando a MDN , pero si puede recomendar otros tutoriales, sería genial.

De todos modos, así que aquí está mi pregunta:

Acabo de leer algunas líneas de this , y al parecer:

Los números en JavaScript son "valores IEEE 754 de formato de doble precisión de 64 bits", según la especificación. Esto tiene algunas consecuencias interesantes. No hay tal cosa como un número entero en JavaScript, por lo que debes tener un poco de cuidado con tu aritmética si estás acostumbrado a las matemáticas en C o Java.

Ya he visto que hay algunos de los tipos de datos (para variables) a los que estoy acostumbrado desde C ++. Pero no esperaba que todos los números fueran automáticamente float . ¿No hay alguna manera de usar int egers, no float ? ¿Una versión futura de JavaScript es compatible con int ?


No creo que alguna vez sea compatible con enteros. No es un problema, ya que cada entero de 32 bits sin signo puede representarse con precisión como un número de punto flotante de 64 bits.

Los motores de JavaScript modernos podrían ser lo suficientemente inteligentes como para generar un código especial cuando los números son enteros (con controles de seguridad para asegurarse de ello), pero no estoy seguro.


No hay soporte para los enteros. Debería ser una simple cuestión de redondear una variable cada vez que la necesite. La sobrecarga de rendimiento no es mala en absoluto.


Si realmente necesita usar enteros, solo use el método de piso en cada número que encuentre.

Aparte de eso, la escritura suelta de Javascript es una de sus fortalezas.


Utilizar esta:

function int(a) { return Math.floor(a); }

Y puedes usarlo así:

var result = int(2.1 + 8.7 + 9.3); //int(20.1) alert(result); //alerts 20