時に文字列を数値に、数値を文字列に変えたい時もあるでしょう。
そんな時に役立つのが型変換です。キャストとも言います。
目次
Intへの型変換
基本的に以下のやり方でできるようです。
Int([Int型にしたい変数])
ちょっと注意が必要なのは、String型にする時、「Int([Int型にしたい変数])!」と末尾に「!」をつけることくらいですね。
ここはアンラップというものです。
こちら
BOOL型は変換できないようです。
コンパイルエラーになりました。
import UIKit
class FirstViewController : UIViewController, UITextFieldDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Float -> Int
let floatValue : Float = 553.0
let floatToInt : Int = Int(floatValue)
print("FloatからInt:\(floatToInt)")
// Double -> Int
let doubleValue : Double = 553.0
let doubleToInt : Int = Int(doubleValue)
print("DoubleからInt:\(doubleToInt)")
// String -> Int
let string : String = "553"
let stringToInt : Int = Int(string)!
print("StringからInt:\(stringToInt)")
}
}
Floatへの型変換
基本的に以下のやり方でできるようです。
Float([Float型にしたい変数])
アンラップが必要など、その辺りはInt型への変換とほとんど変わらないです。
import UIKit
class FirstViewController : UIViewController, UITextFieldDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Int -> Float
let IntValue : Int = 553
let intToFloat : Float = Float(IntValue)
print("IntからFloat:\(intToFloat)")
// Double -> Float
let doubleValue : Double = 553.0
let doubleToFloat : Float = Float(doubleValue)
print("DoubleからInt:\(doubleToFloat)")
// String -> Float
let string : String = "553.2"
let stringToFloat : Float = Float(string)!
print("StringからInt:\(stringToFloat)")
}
}
Double型への型変換
import UIKit
class FirstViewController : UIViewController, UITextFieldDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Int -> Double
let IntValue : Int = 417553
let IntToDouble : Double = Double(IntValue)
print("IntからDouble:\(IntToDouble)")
// Float -> Double
let doubleValue : Float = 417.553
let FloatToDouble : Double = Double(doubleValue)
print("FloatからDouble:\(FloatToDouble)")
// String -> Double
let string : String = "417.553"
let stringToDouble : Double = Double(string)!
print("StringからDouble:\(stringToDouble)")
}
}
Stringへの型変換
基本的に以下のようにかけばString型に変換できます。
String([Stringに変換したい変数])
import UIKit
class FirstViewController : UIViewController, UITextFieldDelegate {
override func viewDidLoad() {
super.viewDidLoad()
// Int -> String
let integetValue : Int = 553
let integerToString : String = String(integetValue)
print("IntからString:\(integerToString)")
// Float -> String
let floatValue : Float = 553.0
let floatToString : String = String(floatValue)
print("FloatからString:\(floatToString)")
// Double -> String
let doubleValue : Double = 553.0
let doubleToString : String = String(doubleValue)
print("DoubleからString:\(doubleToString)")
// Bool -> String
let boolValue : Bool = true
let boolToString : String = String(boolValue)
print("BoolからString:\(boolToString)")
}
}