Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

JavaScript JavaScript Basics (Retired) Working With Numbers Using Math Methods

Vishal Gaglani
Vishal Gaglani
7,707 Points

Math.round and Math.floor are returning the same values. What am I doing wrong?

The return value is 38 for both alerts. I don't know why.

script.js
var temperature = 37.5;
temperature = Math.round (temperature);
alert (temperature);
temperature = Math.floor (temperature);
alert (temperature)
index.html
<!DOCTYPE HTML>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>JavaScript Basics</title>
</head>
<body>
<script src="script.js"></script>
</body>
</html>

2 Answers

Ken Alger
STAFF
Ken Alger
Treehouse Teacher

Vishal;

The issue you are having is that you are reassigning a value to the temperature variable when you call Math.round() on it.

var temperature = 37.5;
temperature = Math.round (temperature); // The temperature variable is now equal to the rounded value, or 38
alert (temperature);  // displays 38
temperature = Math.floor (temperature); // The temperature variable is being asked to "floor" the number 38, not the original 37.5
alert (temperature); // displays 38

As Sonya Trachsel shows, you can just do the alerts, you don't need to reassign a value to temperature.

Post back if you are still stuck.

Happy coding,
Ken

I just did it in one line and it returned them correctly. Try this:

var temperature = 37.5; alert(Math.round(temperature)); alert(Math.floor(temperature));