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


Latest comments (3)

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.

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.