Swiftで数値型を異なる数値型にキャストする方法について記載します。
異なる数値型にキャストするにはイニシャライザを使用する
各数値型にはキャストを行うイニシャライザが用意されています。
注意点としては、精度が高い数値型から精度が低い数値型にキャストする際は、端数が丸められます。
実行例の③では、Double型の 1.23456789 が Float型では 1.2345679 になります。
意図した値に丸められているか注意する必要があります。
実行例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// ① Int型の変数をDouble型にキャスト let i_num1: Int = 10 let d_num1: Double = Double(i_num1) print(d_num1) // 10.0 // ② Double型の変数をInt型にキャスト let d_num2: Double = 1.2345 let i_num2: Int = Int(d_num2) print(i_num2) // 1 // ③ Double型の変数をFloat型にキャスト let d_num3: Double = 1.23456789 let f_num3: Float = Float(d_num3) print(f_num3) // 1.2345679 |