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