Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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!