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

iOS

Mary Kenkel
Mary Kenkel
4,028 Points

var x = 100 + 100 - 5 * 2 / 3 % 7, result given is 197. So Remainder truncates result?

The example given in this lesson is var x = 100 + 100 - 5 * 2 / 3 % 7 and the result given is 197.

So I guess that means that the Remainder function truncates the result? Otherwise, it would be 196.6666...

2 Answers

David Papandrew
David Papandrew
8,386 Points

You are working with the Int data type, so if you pull up playgrounds, you'll see that if you calculate 10 / 3 you won't get any decimal values. The result will be 3.

If you input 10.0 / 3.0 you will get a different result, 1.428571428571429, as Swift will infer a double data type.

Modulo (%) is only available for Int data type. You need to use the remainder method for Doubles and Floats.

Mary Kenkel
Mary Kenkel
4,028 Points

Thank you for your response.

That makes sense. I've never programmed before and I'm going through the Swift basics course.

The instructor said that Swift could figure out variable types based on the data that you put into the variable. So I thought that, by using a calculation that creates a double data type, the type for the result would be double. I guess it doesn't work that way. I guess my lesson here is to always declare a variable type.

Thanks again for your response!