2014-06-12 210 views
1

除了覆蓋當前的方法轉換爲字符串,是否有一個很好的方式將它的雙/字符串表示四捨五入到3位小數?(Double)四捨五入

+0

你想回合嗎,還是隻想在第三次之後切掉數字? – nhgrif

回答

4

您可以創建擴展名,然後在調用它時指定精度。

extension Double { 
    func format(f: String) -> String { 
     return NSString(format: "%\(f)f", self) 
    } 
} 

let myDouble = 1.234567 
println(myDouble.format(".3") 
+3

這不是舍入。這只是顯示3個小數位而不涉及任何舍入。你的答案會打印'1.234',但它是圓的,它應該打印'1.235'。 – nhgrif

+0

謝謝。令人驚訝的是他們沒有包括這樣的事情。更別說沒有下標字符串了...... – chris

+6

@nhgrif其實它確實是圓的,在你的操場上試用它。它維護C printf行爲,該行爲是對請求的數字進行四捨五入。 –