型変換

時に文字列を数値に、数値を文字列に変えたい時もあるでしょう。
そんな時に役立つのが型変換です。キャストとも言います。

目次

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)")
    }
}