Hoy toca un poquito de JavaScript y he pensado que serÃa interesante mostraros algunas técnicas utilizadas en JS para convertir cadenas en números.
Convertir cadenas a números.
JavaScript provee funciones para transformar fácilmente cadenas a numero primitivos.
- .parseInt() con una cadena como primer argumento y una base opcional sobre la que quieres convertir la cadena. Siempre devuelve un entero.
- .parseFloat() desde una cadena devuelve un número en coma flotante equivalente.
- Math.floor() se utiliza para redondear un flotante al entero más cercano redondeando a la baja.
- Math.ceil() similar al anterior pero redondeando al alza.
- Operador unario añadiendo un signo positivo + antes de la cadena, se convertirá en número si el formato es correcto.
- Multiplicación por 1 si multiplicamos una cadena por 1, esta se convierte en un número
Seguramente conocÃas algunos de estos métodos y otros (como me pasó a mi con Math.floor y Math.ceil) te habrán sorprendido, pero pasemos a los ejemplos
.parseInt()
let str = '353';
let fltStr = '353.56';
let binStr = '7';
let nanStr = 'hola';
parseInt(str); // 353
parseInt(fltStr); // 353
parseInt(binStr, 2); // 111 (Binario)
parseInt(nanStr); // NaN (Not a Number)
.parseFloat()
let str = '100';
let fltStr = '100.21';
let nanStr = 'bye';
parseFloat(str); // 100
parseFloat(fltStr); // 100.21
parseFloat(nanStr); // NaN
Math.floor()
let str = '100';
let fltStr = '99.89';
let nanStr = 'bye';
Math.floor(str); // 100
Math.floor(fltStr); // 99
Math.floor(nanStr); // NaN
Math.ceil()
let str = '100';
let fltStr = '100.21';
let nanStr = 'bye';
Math.ceil(str); // 100
Math.ceil(fltStr); // 101
Math.ceil(nanStr); // NaN
Operador unario
let str = '100';
let fltStr = '100.21';
let nanStr = 'greetings';
+str // 100
+fltStr // 100.21
+nanStr // NaN
+'1000' // 1000
+10.25 // 10.25
Multiplicar por 1
let str = '100';
let fltStr = '100.21';
let nanStr = 'greetings';
str * 1; // 100
fltStr * 1; // 100.21
nanStr * 1; // NaN
'2000' * 1; // 2000
'102.15' * 1; // 102.15
Si tienes cualquier duda o comentario recuerda que puedes exponerlo aquà o bien mediante nuestro twitter y facebook.
0 comentarios:
Publicar un comentario