以外と時間がかかったのでメモ。
-
Double
型などの浮動小数点数値と文字列の相互変換は、String
型では定義されていないため、NSString
型を用いる必要がある
String --> Double(Float,Int,Int64,etc)
swift
let str: String = "3.3"
var dNum: Double = NSString(string: str).doubleValue // 3.3
var fNum: Float = NSString(string: str).floatValue // 3.2999....
var iNum: Int = NSString(string: str).integerValue // 3
var lNum: Int64 = NSString(string: str).longLongValue // 3
var bNum: Bool = NSString(string: str).boolValue // true
Double --> String
swift
let num = 3.33
var strf: String = NSString(format: "%.2f", num)
var strF: String = NSString(format: "%.2F", num)
var stre: String = NSString(format: "%.2e", num)
var strE: String = NSString(format: "%.2E", num)
var strg: String = NSString(format: "%.2g", num)
var strG: String = NSString(format: "%.2G", num)
-
f
(Double)以外ではF
,e
,E
,g
,G
がある→詳細はこちら参照
参考
- 整数
Int
⇔文字列String
の相互変換は、String
型にて定義されている
Int --> String
swift
let num: Int = 3
var str: String = String(num)
String --> Int
swift
let str: String = "3"
var num: Int? = str.toInt()