Created
May 24, 2022 13:44
-
-
Save m4n50n/0756ee32c0f3b16afb257f9ee1908674 to your computer and use it in GitHub Desktop.
Counter calculator
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Math/floor | |
Math.floor() Devuelve el máximo entero menor o igual a un número. Es decir: 0,1 = 0; 1.6 = 1; | |
Es decir, devuelve solo la parte entera del número (o sea, sin decimales) | |
Operador % | |
https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Operators/Remainder | |
El operador resto (%) devuelve el resto de la división entre dos operandos. | |
*/ | |
const digits = (numero) => { | |
/* Explicación: | |
En el contador (teniendo por ejemplo 123 segundos): | |
0 1 2 3 | |
| | | | | |
millares centenas decenas unidades | |
- Una decena = 10 unidades (para saber las decenas del número dividimos entre 10) | |
- Una centena = 100 unidades (para saber las centenas de un número dividimos entre 100) | |
- Un millar = 1000 unidades (para saber los millares de un número dividimos entre 1000) | |
Si por ejemplo queremos sacar las decenas de 1 (1/10) el resultado será 0,1 porque el número no tiene decenas, así que Math.floor() lo convertirá en 0. | |
Si por ejemplo queremos saber las centenas de 223, al dividir 223/100 dará 2,23 y como lo que nos interesa sólo es entero, pues Math.floor(). | |
La operación resto (%) la usamos para garantizar que el número que queremos (unidad, decena, centena o millar) siempre va a a tener un solo dígito. | |
Por ejemplo, si tenemos esta misma función pero sin %: | |
console.log("unidades", Math.floor(numero)); | |
console.log("decenas", Math.floor(numero / 10)); | |
console.log("centenas", Math.floor(numero / 100)); | |
console.log("millares", Math.floor(numero / 1000)); | |
Y el número a mostrar fuera 1234, el resultado sería: | |
"unidades", 1234 | |
"decenas", 123 | |
"centenas", 12 | |
"millares", 1 | |
Las unidades, decenas y centenas tendrían más de un dígito y ya no nos serviría, así que con la operación % lo que nos traemos en cada momento es el resto de dividir el número entre 10 (la cual nos traería el último dígito del número, que es lo que queremos) | |
*/ | |
console.log("----------- NUMERO RECIBIDO: ", numero); | |
console.log("unidades", Math.floor(numero % 10)); | |
console.log("decenas", Math.floor(numero / 10) % 10); | |
console.log("centenas", Math.floor(numero / 100) % 10); | |
console.log("millares", Math.floor(numero / 1000) % 10); | |
console.log("--"); | |
console.log("unidades sin %", Math.floor(numero)); | |
console.log("decenas sin %", Math.floor(numero / 10)); | |
console.log("centenas sin %", Math.floor(numero / 100)); | |
console.log("millares sin %", Math.floor(numero / 1000)); | |
}; | |
digits(1); | |
digits(98); | |
digits(10); | |
digits(20); | |
digits(99); | |
digits(100); | |
digits(1000); | |
digits(1234); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment