Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

Duda Number.parseInt() vs parseInt() vs Number()

Yo había aprendido a convertir strings a numeros con la funcion Number

Number("23" ) --> 23

o con el trucoprint(+"23") ---> 23

pero luego vi que parseInt era una función del objeto number Number.parseInt("23") --> 23

Pero cual es la mejor forma y por qué¿?

2 respuestas

Básicamente a diferencia de Number, a su propiedad parseInt no le afecta si el string contiene letras que no correspondan a algún tipo de valor, por ejemplo:

Number.parseInt("23jkajsk");
// Devuelve "23" ignorando las letras.

Number("23jkajsk");
// Devuelve "NaN".

Saludos

solución!

Hola, depende de la situación, el parseInt() devuelve un numero entero de la base especificada y el Number() solo un entero.

    parseInt("23jkajsk");
    // Devuelve 23 ignorando las letras.

    Number("23jkajsk");
    // Devuelve "NaN".

Me copie el código de arriba xD

Bueno lo de la base es lo siguiente, hay base 2 (binario), base 8 (octal), base 10 (decimal), base 16(hexadecimal), entre otras. por lo cual con el parseInt() tu puedes especificar en que base lo usas

    parseInt("f", 16);
    // Devuelve 15, que seria 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
    parseInt("11", 2)
    // Devuelve 3  que en binarios 11 = 3 en decimal

    // puedes tener un parseint en base hexadecimal y si tiene las letras de 
    // la a hasta la f antes de los números, va a generar un resultado en un entero
    // algo así:  a343aa 
    parseInt("a343aa", 16)
    //Devuelve 10699690

Por lo que si no vas a especificar una base, no hay ningún lio en usar parseInt o Number.parseInt.