title: Double String formatting madness
body: <p>I have the following in playground:</p>
  
  <pre><code>let a:CGFloat = 1.23
  let b:Double = 3.45
  let c:Float = 6.78
  String(format: "(%2.2f|%2.2f|%2.2f)",a,b,c) // prints "(3.45|6.78|0.00)"
  let d = NSMakePoint(9.87,6.54)
  String(format: "(%2.2f|%2.2f)",d.x,d.y) // prints "(0.00|0.00)"
  </code></pre>
  
  <p>So why is <code>c:Float</code> rendered as <code>0.00</code>. I possibly need something else than <code>f</code> (Apples docu on this formatting function is - to be polite - quite thin with a limes going to zero). </p>
  
  <p>BUT: Why is the <code>CGFloat</code> in the first place rendered correctly while the two <code>CGFloat</code>s inside the <code>NSPoint</code> get rendered as <code>0.00</code>?</p>
  
  <p>And no: it's not a duplicate of <a href="https://stackoverflow.com/questions/24051314/precision-string-format-specifier-in-swift">Precision String Format Specifier In Swift</a> and its pendant.</p>
  
  <p>P.S. </p>
  
  <pre><code>String(format: "(%2.2f|%2.2f)",Double(d.x),d.y) // prints  "(9.87|0.00)"
  </code></pre>
  
  <p>which is a work around but no explanation.</p>
  
  <p>And a PPS: Isn't <code>%2.2f</code> supposed to print " 9.87" instead of "9.87" (2 places for leading digits? It seems to ignore the number. Specifying <code>%02.2f</code> also prints "9.87" rather than "09.87"</p>