Usaremos Number() para crear un objeto de tipo de dato numérico.
- En caso de que el parámetro sea una cadena con números la conversión se realizará correctamente.
- Si el parámetro es un Objeto Date() (de tipo fecha) se devolverá el número de milisegundos desde el 1 de enero 1970 (UTC).
- Si el parámetro es un valor lógico o booleano se devolverá cero si es 'false' o 1 si es 'true'.
- En caso de que el parámetro no sea válido devuelve NaN (Not a Number).
A continuación te mostramos un ejemplo:
var objNumero1 = new Number( "" );
var objNumero2 = new Number( " " );
var objNumero3 = new Number( null );
var objNumero4 = new Number( undefined );
var objNumero5 = new Number( "0900" );
var objNumero6 = new Number( "0X900" );
var objNumero7 = new Number( 0900 );
var objNumero8 = new Number( 0X900 );
var objNumero9 = new Number(55);
var objNumero10 = new Number(" 55");
var objNumero11 = new Number("55 ");
var objNumero12 = new Number("55");
var objNumero13 = new Number("55 77");
var objNumero14 = new Number("55 BC");
var objNumero15 = new Number("BC 55");
var objNumero16 = new Number("55A");
var objNumero17 = new Number("B-55A");
var objNumero18 = new Number(true);
var objNumero19 = new Number(false);
var objNumero20 = new Number( new Date() );
var objNumero21 = new Number( 55,60 );
var objNumero22 = new Number( 55.60 );
document.write( objNumero1 + "<br />" ); // Devuelve 0
document.write( objNumero2 + "<br />" ); // Devuelve 0
document.write( objNumero3 + "<br />" ); // Devuelve 0
document.write( objNumero4 + "<br />" ); // Devuelve NaN
document.write( objNumero5 + "<br />" ); // Devuelve 900
document.write( objNumero6 + "<br />" ); // Devuelve 2304
document.write( objNumero7 + "<br />" ); // Devuelve 900
document.write( objNumero8 + "<br />" ); // Devuelve 2304
document.write( objNumero9 + "<br />" ); // Devuelve 55
document.write( objNumero10 + "<br />" ); // Devuelve 55
document.write( objNumero11 + "<br />" ); // Devuelve 55
document.write( objNumero12 + "<br />" ); // Devuelve 55
document.write( objNumero13 + "<br />" ); // Devuelve NaN
document.write( objNumero14 + "<br />" ); // Devuelve NaN
document.write( objNumero15 + "<br />" ); // Devuelve NaN
document.write( objNumero16 + "<br />" ); // Devuelve NaN
document.write( objNumero17 + "<br />" ); // Devuelve NaN
document.write( objNumero18 + "<br />" ); // Devuelve 1
document.write( objNumero19 + "<br />" ); // Devuelve 0
// si lo pruebas te dará un valor diferente, ya que harás el cálculo en otra fecha y hora:
document.write( objNumero20 + "<br />" ); // Devuelve 1305307570161
document.write( objNumero21 + "<br />" ); // Devuelve 55
document.write( objNumero22 + "<br />" ); // Devuelve 55.6

Para convertir a numérico otro tipo de dato, es mejor utilizar la función de Javascript parseInt().

Al crear una variable de forma normal y asignarle un número, se tratará igualmente como tal.

El separador decimal en JavaScript se indica usando un punto.

UTC son las siglas de Universal Time Coordinated (o Tiempo Universal Coordinado en español), también conocido como tiempo civil, y es la zona horaria respecto a la que se calculan las otras zonas del mundo. Se trata digamos de la hora mundial.

Vea también: [ parseInt() ]
Para convertir otros tipos de datos a número podemos usar también la función Number():
var num1 = Number("55");
var num2 = Number("55 BC");
document.write( num1 + "<br />" ); // Devuelve 55
document.write( num2 + "<br />" ); // Devuelve NaN

Para convertir a numérico otro tipo de dato, es mejor utilizar la función de Javascript parseInt().

Vea también: [ parseInt() ]
En ocasiones necesitaremos comprobar si un determinado valor se trata de un número válido, y para ello usaremos la función de JavaScript isNaN() (Is Not A Number) que devolverá 'false' si es un número válido o 'true' si NO ES un número válido: esto puede resulta confuso, pero es lo que realmente indica el nombre de dicha función.
document.write( isNaN(33) + "<br />" ); // Devuelve: false
document.write( isNaN(-33) + "<br />" ); // Devuelve: false
document.write( isNaN("33") + "<br />" ); // Devuelve: false
document.write( isNaN("h33") + "<br />" ); // Devuelve: true
document.write( isNaN("x03") + "<br />" ); // Devuelve: true
document.write( isNaN("33H") + "<br />" ); // Devuelve: true
document.write( isNaN("33-p") + "<br />" ); // Devuelve: true
Como curiosidad y cosa a tener en cuenta, en los siguientes casos isNaN() devuelve 'false', indicando que se trata de números...:
document.write( isNaN(null) ); // Devuelve: false
document.write( isNaN("") ); // Devuelve: false
document.write( isNaN(" ") ); // Devuelve: false
Con el método toFixed() devolveremos el número especificando el número de decimales que debe tener, a la vez que podemos realizar un redondeo hacia arriba del mismo:
var objNumero1 = new Number("55");
var objNumero2 = new Number("55");
document.write( objNumero1.toFixed(2) + "<br />" ); // Devuelve 55.00
document.write( objNumero2.toFixed(3) + "<br />" ); // Devuelve 55.000
var objNumero3 = new Number("55.4");
var objNumero4 = new Number("55.5");
var objNumero5 = new Number("55.6");
document.write( objNumero3.toFixed() + "<br />" ); // Devuelve 55
document.write( objNumero4.toFixed() + "<br />" ); // Devuelve 56
document.write( objNumero5.toFixed() + "<br />" ); // Devuelve 56
Usando el método toPrecision() es posible indicar el número de dígitos, realizándose también redondeo hacia arriba:
var objNum1 = new Number("55.867");
document.write( objNum1.toPrecision() + "<br />" ); // Devuelve "55.867"
document.write( objNum1.toPrecision(2) + "<br />" ); // Devuelve "56"
document.write( objNum1.toPrecision(3) + "<br />" ); // Devuelve "55.9"
document.write( objNum1.toPrecision(4) + "<br />" ); // Devuelve "55.87"
Para convertir una cadena a número usaremos las siguientes funciones de JavaScript:
- parseInt(): convierte una cadena a número entero. En el primer parámetro escribiremos la cadena, y en el segundo el sistema numérico al que deseamos convertirla. En caso de especificarlo se seguirán las siguientes reglas:
- Si la cadena comienza con '0x' se convertirá a formato hexadecimal (como si pusiéramos 16 en el segundo parámetro).
- Si la cadena comienza con cero se convertirá a formato octal (como si pusiéramos 8 en el segundo parámetro). Así pues, si estamos trabajando en formato decimal es recomendable especificarlo siempre, poniendo '10' como segundo parámetro.
- Si la cadena comienza con cualquier otro valor se convertirá a formato decimal (como si pusiéramos 10 en el segundo parámetro).
- Si el primer carácter de la cadena no es un número se devuelve NaN (error, al no tratarse de un número).
- parseFloat: convierte una cadena a número decimal.
A continuación puedes ver unos ejemplos:
document.write( parseInt("50365", 8) + "<br />" ); // Devuelve: 20725 (octal)
document.write( parseInt("50365", 10) + "<br />" ); // Devuelve: 50365 (decimal)
document.write( parseInt("50365", 16) + "<br />" ); // Devuelve: 328549 (hexadecimal)
document.write( parseInt("33,565") + "<br />" ); // Devuelve: 33
document.write( parseInt("44.565") + "<br />" ); // Devuelve: 44
document.write( parseInt("88") + "<br />" ); // Devuelve: 88
document.write( parseInt("088556") + "<br />" ); // Devuelve: 0
document.write( parseInt("0x88556") + "<br />" ); // Devuelve: 558422
document.write( parseInt("true") + "<br />" ); // Devuelve: NaN (no es un número)
document.write( parseInt("false") + "<br />" ); // Devuelve: NaN
document.write( parseInt( new Date() ) + "<br />" ); // Devuelve: NaN
document.write( parseInt("12/07/2011") + "<br />" ); // Devuelve: 12
document.write( parseInt("p55") + "<br />" ); // Devuelve: NaN
document.write( parseFloat("33,4") + "<br />" ); // Devuelve: 33
document.write( parseFloat("33,5") + "<br />" ); // Devuelve: 33
document.write( parseFloat("33,6") + "<br />" ); // Devuelve: 33
document.write( parseFloat("44.4") + "<br />" ); // Devuelve: 44.4
document.write( parseFloat("44.56") + "<br />" ); // Devuelve: 44.56
document.write( parseFloat("44.6") + "<br />" ); // Devuelve: 44.6
document.write( parseFloat("55.4") + "<br />" ); // Devuelve: 55.4
document.write( parseFloat("55.A6") + "<br />" ); // Devuelve: 55
document.write( parseFloat("5B5.6") + "<br />" ); // Devuelve: 5
document.write( parseFloat("C55.6") + "<br />" ); // Devuelve: NaN
Recuerda que en JavaScript el separador de decimales es el punto.

Como hemos comentado antes, si estamos trabajando en formato decimal es recomendable especificarlo siempre, poniendo '10' como segundo parámetro.