DEV Community

Cristian Fernando
Cristian Fernando

Posted on • Updated on

Paracetamol.js馃拪| #100: Explica este c贸digo JavaScript

Explica este c贸digo JavaScript

Dificultad: B谩sica

//Este es el reto #100 馃帀馃コ
console.log(Math.floor(9.8)); //?
console.log(Math.ceil(9.8)); //?
console.log(Math.round("9.8")); //?
Enter fullscreen mode Exit fullscreen mode

A. 10, 10, "10"
B. 9, 10, 10
C. 9, 9, 9
D. 10, 10, "9"

Respuesta en el primer comentario


Top comments (3)

Collapse
 
duxtech profile image
Cristian Fernando

Respuesta:
B. 9, 10, 10

Javascript tiene 3 m茅todos pertenecientes al objecto Math 煤tiles para redondeo de n煤meros.

  • Math.floor() Siempre redondea el valor hac铆a abajo.
  • Math.ceil() Siempre redondea el valor hac铆a arriba.
  • Math.round() Redondea el valor de una manera un poco mas inteligente, siguiendo las reglas de redondeo que nos ense帽aron en colegio.

Los 3 m茅todos tienen inferencia de tipos, esto quiere decir que sino le pasamos un valor num茅rico como par谩metro, javascript intentar谩 hacer su mejor esfuerzo para poder realizar la operaci贸n.

Collapse
 
jonrandy profile image
Jon Randy 馃帠锔

A quick shortcut to just remove the decimal part:

console.log(~~9.8)   // 9
Enter fullscreen mode Exit fullscreen mode

Beware - this isn't the same as round, floor, or ceil

Collapse
 
taneros profile image
Renatik

I wouldn't use it in my code because at code review I'd get comments on my code not being explicit (provided this could even get to code review stage. because nowadays eslint would eat you alive for this!). So, I'd instead use Math. methods. But I can agree this is an elegant way.