"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cuándo utilizar parseInt() y Number() para la conversión de cadena a número en JavaScript?

¿Cuándo utilizar parseInt() y Number() para la conversión de cadena a número en JavaScript?

Publicado el 2024-11-17
Navegar:355

 When to Use parseInt() and Number() for String to Number Conversion in JavaScript?

Conversión de cadenas en números con parseInt() y Number()

Al convertir cadenas en números en JavaScript, dos funciones comúnmente utilizadas son parseInt () y Número(). Si bien ambos comparten el propósito de la conversión numérica, difieren en su enfoque y comportamiento.

parseInt()

parseInt() realiza una tarea más específica conocida como análisis . Intenta extraer un número entero de una cadena. Al analizar, parseInt() lee la cadena de izquierda a derecha, deteniéndose en el primer carácter que no sea un dígito. Cualquier carácter subsiguiente en la cadena se ignora.

parseInt() también toma un segundo argumento opcional, la raíz o base, que especifica el sistema numérico utilizado para interpretar los dígitos. La base predeterminada es 10 (decimal), pero se puede establecer en cualquier número entero entre 2 y 36.

Ejemplos:

parseInt("20px");       // 20
parseInt("10100", 2);   // 20 (binary)
parseInt("2e1");        // 2 (does not parse the "e1")

Number()

Number(), por otro lado, es una función constructora que convierte una cadena a un número, realizando la conversión de tipos. A diferencia de parseInt(), Number() intenta convertir la cadena completa en un número, incluso si contiene caracteres no numéricos.

Si la cadena contiene caracteres no numéricos, Number() devolverá NaN (No -un-Número). Sin embargo, tiene algunos comportamientos notables en casos específicos:

  • Puede manejar notación exponencial (por ejemplo, "2e1") y convertirla en un número.
  • Puede detectar y analizar notaciones octales implícitas (por ejemplo, "010"), pero también se puede usar para convertir explícitamente a octal usando "0o".
  • Puede manejar números hexadecimales con el prefijo "0x".

Ejemplos:

Number("20px");       // NaN
Number("2e1");        // 20
Number("010");         // 10
Number("0o10");         // 8
Number("0xF");   // 15

Consideraciones adicionales

  • parseInt() generalmente se prefiere cuando necesitas analizar una cadena como un número entero, mientras que Number() es más adecuado para convertir valores a tipos numéricos.
  • El operador unario más ( ) también se puede utilizar para convertir una cadena en un número, lo que equivale a utilizar Number() constructor.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3