Swift - キャストする
Swiftでのキャスト
Swiftは定数や変数の型を厳密にチェックする性質を持っている。したがって、Double型にInt型の変数の値を代入しようとしたり、引数の型がInt型と定義しているところにDouble型が渡されるとエラーとなる。
そういった場合にキャストを使い、どちらか一方の型を合わせてあげる必要がある。
IntとDoubleの場合
let count = 1 let price = 100 let tax = 1.08 let sum = price * count * tax
この場合の結果は以下のとおり。
error: binary operator '*' cannot be applied to operands of type 'Int' and 'Double' let sum = price * count * tax ~~~~~~~~~~~~~ ^ ~~~
Int型とDouble型は掛け算できない、とエラーが出る。
そのため、price * count
をDouble型にキャストしてあげる必要がある。
let count = 1 let price = 100 let tax = 1.08 let sum = Double(price * count) * tax
108
計算が正常に行われたことがわかる。
Stringと数値を連結させるときのキャスト
文字列と文字列においては+
演算子で連結させることができる。しかし、文字列と数値型を+
演算子で連結させようとするとエラーとなる。
こちらも、数値型をString型にキャストしてあげる必要がある。
let weather = "雪" let temp = 0 print("きょうのてんきは" + weather + "、気温は" + String(temp) + "度となっています。")
きょうのてんきは雪、気温は0度となっています。
参考
詳細! Swift 3 iPhoneアプリ開発 入門ノート Swift3 + Xcode 8対応 (Oshige introduction note)
- 作者: 大重美幸
- 出版社/メーカー: ソーテック社
- 発売日: 2016/11/05
- メディア: 単行本
- この商品を含むブログを見る