Swift

Swift:浮動小数点(Float / Double)をString変換

緯度・経度の変換処理のメモです。留意点は、Floatではなく、Doubleを使うこと。

緯度をDoubleにして、一の位以上をIntで取り出す。

var wGPS:Double = wgps!.objectForKey(kCGImagePropertyGPSLatitude) as! Float//緯度をDoubleに変換
var wNo1:Int = Int(wGPS) //DoubleをIntに変換(整数部分抽出)

Doubleを文字列に変換するときの指定と変換結果

let num = 1.23456
var wstring: String
wstring = NSString(format: “%.3f”, num) as String// 1.235
println(“wstring 1=\(wstring)”)
wstring = NSString(format: “%.3F”, num) as String// 1.235
println(“wstring 2=\(wstring)”)
wstring = NSString(format: “%.3e”, num) as String// 1.235e+00
println(“wstring 3=\(wstring)”)
wstring = NSString(format: “%.3E”, num) as String// 1.235E+00
println(“wstring 4=\(wstring)”)
wstring = NSString(format: “%.3g”, num) as String// 1.23
println(“wstring 5=\(wstring)”)
wstring = NSString(format: “%.3G”, num) as String// 1.23
println(“wstring 6=\(wstring)”)

注1:format: “%.3f”場合、小数点以下を3桁表示する。

注2:format: “%.3f”の場合、少数4桁目で四捨五入。

返り値が複数ある場合の呼び出し方とメソッドの書き方

var wStringGPS      = execGPSto60(filepath)
println(“wDate=\(wStringGPS.pLatitude)”)  
println(“wDate=\(wStringGPS.pLongitude)”)   

func execGPSto60(pFilepath:String) -> (pLatitude:String, pLongitude:String) {

return (wLatitude, wLongitude)
}

Categories: Swift, 技術