Convertir cadena a entero

El método estático Number.parseInt( cadena [, base]) permite convertir una cadena de dígitos en un valor numérico tipo entero.

var precio = "100 dolares";

var precio_numerico;

precio_numerico = Number.parseInt(precio) ;

console.log( precio_numerico)

En este sencillo ejemplo el valor de cadena comienza por un dígito, el método convierte a partir de ese dígito hasta encontrar un carácter no numérico o un punto y devuelve el resultado como un entero.

Este método funciona igual que la función global parseInt(), por lo que también admite un segundo argumento para cambiar la base de la representación numérica (binaria, hexadecima, octal...). Por defecto la cadena se interpreta como base 10, decima (los habituales en el día a día)l.

console.log(Number.parseInt( "+120" ))    //102

console.log(Number.parseInt( "$120" ))    //NaN

console.log(Number.parseInt( "12.50" ))   //12

console.log(Number.parseInt( "-120" ))   //-120

console.log(Number.parseInt( "Precio 120" ))   //NaN

Como se observa en este ejemplo o devuelve NaN o un valor entero, y el signo lo acepta como carácter numérico.

Si la cadena no es convertible en una cantidad numérica devuelve NaN (un tipo Number).

Como la global equivalente parseInt(), se pueden convertir cadenas en distintas bases de numeración, como la base 16 (hexadecimal) habitual en códigos de colores.

console.log(Number.parseInt( "AB00", 16 ))    //43776

console.log(Number.parseInt( "1110",2 ))    // 14

console.log(Number.parseInt( "467", 8))   //311

console.log(Number.parseInt( "ABT", 16 ))   //171

console.log(Number.parseInt( "RAB", 16 ))   //NaN

console.log(Number.parseInt( "2110", 2 ))   //NaN

El resultado de la transformación es un valor en base 10, el argumento de base solo se usa para comprobar que la cadena cumple con el sistema de numeración correspondiente. Si no cumple devuelve NaN

scripts