Convertir una cadena en un número en JavaScript
-
Utilice la función
Number()
para convertir una cadena en un número en JavaScript -
Utilice la función
parseInt()
para convertir una cadena en entero en JavaScript -
Utilice el objeto
Math
para convertir una cadena en entero en JavaScript - Conclusión
Debemos haber tenido varios escenarios para convertir un número. Por ejemplo, los datos extraídos de una API o una consulta de base de datos en un formato de cadena a un número. Como las cadenas se operan de manera diferente, puede ser necesario convertir estas cadenas a un formato numérico para realizar operaciones aritméticas en ellas con facilidad. A continuación, se muestran algunas formas de hacerlo:
Number("123")
parseInt("123")
Math.floor("123.12")
Math.round("123")
Utilice la función Number()
para convertir una cadena en un número en JavaScript
El Number()
es una función de la construcción Number
que se puede utilizar para convertir otros tipos de datos a un formato de número (según MDN Docs). Devuelve NaN
si el parámetro de entrada no está definido o no se puede convertir en un número. Por ejemplo:
console.log(Number('246'))
console.log(Number('246.5'))
console.log(Number(undefined))
console.log(Number('Hello'))
Producción :
246
246.5
NaN
NaN
Utilice la función parseInt()
para convertir una cadena en entero en JavaScript
Otra forma de lidiar con los números de cadena es usando el método parseInt()
de JavaScript. parseInt()
toma dos argumentos, uno es la cadena que debe convertirse y el otro es la radix
(significa la base). La mayoría de los números con los que nos enfrentamos en nuestra vida diaria suelen estar en la base de 10, lo que significa un valor decimal. En la mayoría de los casos, no es necesario especificar la base, ya que el valor predeterminado es 10.
console.log(parseInt('123'));
console.log(parseInt('abc'));
console.log(parseInt('-123'));
console.log(parseInt('100.50'));
Producción :
123
NaN
-123
100
parseInt("100.50")
devuelve 100 en lugar de 100.50, ya que convierte el número de entrada en un entero. Por lo tanto, al usar parseInt()
tenga en cuenta el hecho.
parseInt()
también puede convertir valores hexadecimales y valores con los diferentes sistemas de números base, como el sistema binario, el sistema octal, etc. Para obtener más información, consulte los documentos. De manera similar, podemos usar parseFloat()
para convertir una cadena en un número de punto flotante.
Utilice el objeto Math
para convertir una cadena en entero en JavaScript
Math
es un objeto integrado en JavaScript que tiene métodos para operaciones matemáticas complejas. Funciona con el número de tipo de datos. Pero pocos métodos de este objeto incorporado se utilizan para convertir la cadena en un número entero. Por ejemplo,
console.log(Math.ceil('123'));
console.log(Math.floor('300'));
console.log(Math.abs('450'));
Producción :
123
300
450
Sin embargo, existe un error al utilizar los métodos Math
para la conversión. Para valores de punto flotante, no podemos usarlos ya que los convertirán en un número entero. Por tanto, perderemos la parte decimal del valor.
Math.ceil("220.5")
: devuelve221
. Toma el valor máximo, aproximando el número decimal al siguiente valor entero que es221
. Por tanto, no podemos utilizarlo para obtener220.5
. En tales escenarios useparseFloat()
.Math.floor("220.5")
: devuelve220
. En comparación con la funciónceil()
,floor()
devuelve el valor entero anterior. Por tanto,Math.floor()
no funcionaría para valores numéricos de coma flotante.Math.abs("450")
: Se puede utilizar ya que devolverá450
pero no funcionaría con valores enteros negativos. Por ejemplo, la siguiente diferencia no servirá para nuestro propósito cuando se trata de valores enteros negativos. Según los siguientes escenarios:
console.log(Maths.abs('240.64'))
console.log(Math.abs('-240.25'))
Producción :
240.64 // The decimal value of .64 is captured here
240.25 // -240.25 is transformed to 240.25
Conclusión
Dependiendo del valor que esperemos del número de cadena, la mejor opción será usar el método Number()
. Si está jugando sólo con valores enteros, le recomendamos que utilice parseInt()
. Haga un uso juicioso del objeto Math incorporado en JavaScript para convertir un número de cadena, ya que puede ser complicado según el método que usemos.
Artículo relacionado - JavaScript String
- Obtener el último carácter de una cadena en JavaScript
- Convertir una cadena en una fecha en JavaScript
- Obtener el primer carácter de una cadena en JavaScript
- Convertir array en cadena en JavaScript
- Comprobar la igualdad de cadenas en JavaScript
- Buscador de anagramas en JavaScript