2016-09-25 38 views

回答

2

基金會沒有學位分秒的格式化程序,但它不是很難推出自己的。這是我嘗試原油:

class DegreeFormatter : NumberFormatter { 
    func string(from degree: Double) -> String { 
     var remaining = degree 

     let degree = remaining.rounded(.towardZero) 
     remaining -= degree 
     remaining *= 60.0 

     let minute = remaining.rounded(.towardZero) 
     remaining -= minute 
     remaining *= 60 

     let seconds = remaining 

     return "\(Int(degree))°\(Int(minute))'\(self.string(from: seconds as NSNumber)!)" 
    } 
} 

let formatter = DegreeFormatter() 
formatter.maximumFractionDigits = 2 

print(formatter.string(from: 1.23456789)) // 1°14'4.44 

您可以進一步定製,以包括自定義程度的符號,是否包括第二,什麼單位是允許的,等等

+0

奇蹟。謝謝! – Vyacheslav