Convertir una cadena en un número en JavaScript

Nithin Krishnan 12 octubre 2023
  1. Utilice la función Number() para convertir una cadena en un número en JavaScript
  2. Utilice la función parseInt() para convertir una cadena en entero en JavaScript
  3. Utilice el objeto Math para convertir una cadena en entero en JavaScript
  4. Conclusión
Convertir una cadena en un número en JavaScript

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"): devuelve 221. Toma el valor máximo, aproximando el número decimal al siguiente valor entero que es 221. Por tanto, no podemos utilizarlo para obtener 220.5. En tales escenarios use parseFloat().
  • Math.floor("220.5"): devuelve 220. En comparación con la función ceil(), 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

Artículo relacionado - JavaScript Integer