Implementing the Temperature Conversion: needs float trunc

After I finished the entire section, Implementing the Temperature Conversion, in Chapter 6, I ran the program and the output was odd.

For example, if I typed 212 (fahrenheit) I would see 00000000000 in the celsius output.
If I typed 0 I would see 777777775 (clipped text). – see 1st snapshot below

After first I thought I was doing something wrong in the conversion.
But then I checked the code download and I see that it will add a number formatter.
However, I think it might be nice just to truncate some of the decimal value off.

I added the following extension method on the Double type:

extension Double {
    func truncate(places : Int)-> Double {
        return Double(floor(pow(10.0, Double(places)) * self)/pow(10.0, Double(places)))

Then I altered the code where the celsiusLabel.text is set so it uses that truncate() extension method.
It’s the line in updateCelsiusLabel()…
celsiusLabel.text = "\(celsius.value.truncate(places : 3))"

Now it looks like 2nd snapshot below. Much better.