我在操場以下幾點:雙字符串格式化瘋狂
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)"
那麼,爲什麼c:Float
呈現爲0.00
。我可能需要f
以外的其他東西(這個格式化函數的蘋果文件是 - 要禮貌 - 很薄,石灰變成零)。
但是:爲什麼CGFloat
首先被正確渲染,而NSPoint
中的兩個CGFloat
被渲染爲0.00
?
並且不:它不是Precision String Format Specifier In Swift及其吊墜的副本。
P.S.
String(format: "(%2.2f|%2.2f)",Double(d.x),d.y) // prints "(9.87|0.00)"
這是一個工作,但沒有解釋。
並有PPS:?是不是應該%2.2f
打印「9.87」,而不是「9.87」(2處爲主導的數字似乎忽略數量指定%02.2f
還打印出「9.87」,而不是「09.87」