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.

Dino A
iOS Development Techdegree Student 786 PointsPassing on the variable
At around 6:14 Amit talks about passing on a variable to a double. Is there more than one way to write the code for that? For e.g. This is how it is in this lesson:
let areaInMeters = Double(area) / 10.764
Could you also write it like this:
let areaInMeters: Double = area / 10.764
much appreciated
2 Answers

Justin Black
24,266 PointsIn short, no. It would still fail.
Reason being we are taking the area, which will always equal a whole number and as such is of Int type. In order to divide that by 10.764, we have to convert that to a double by typecasting the variable to be one.
Otherwise, you get the error: 'Int' is not convertible to 'Decimal'

Dino A
iOS Development Techdegree Student 786 Pointsgotcha. Now I get it. Thanks for taking the time to help.
Dino A
iOS Development Techdegree Student 786 PointsDino A
iOS Development Techdegree Student 786 PointsI appreciate the reply Justin. I understand what you are saying. I just don't get why in the numbers "Numbers" course section you would write the code like this:
var version: Double = 1.0
But in "Binary operators" its written like this:
let areaInMeters = Double(area) / 10.764
Why isn't there a colin after areaInMeters like there is in the code above that? And why does area have to be in brackets? I guess what I am really asking is what is the difference the way both of those lines are written?
I hope this was clear. Its probably the simplest answer but its not computing.
cheers
Justin Black
24,266 PointsJustin Black
24,266 PointsThe first way would be called a 'type set' or typesetting. This is because you are explicitly telling the application that the variable must contain a double.
The 2nd is type-casting. You are taking the value of one type, and converting it to another. I imagine he did this more so as a reference to type-casting, without really explaining it well.
You could do it the way you suggest, but you'd have to do it for the height, width and area.