floatとdoubleはどちらも小数を扱う、浮動小数点型を表すものです。
| float | double |
| 32bit | 64bit |
| 10の38乗まで | 10の308乗まで |
| 6桁の精度 | 15桁の精度 |
DoubleはFloatより広い範囲と高い精度を持つ型です。ただし別々の型なので、代入時などに自動で相互変換されるわけではありません。
floatとdoubleの使い分けの違い
以下の順で考えればよいかと思います。
- 特別なサイズやAPIの指定がなければ
Doubleを使う。Swiftも型を省略した小数リテラルをDoubleと推論する - APIが
Floatを要求する場合や、精度・メモリ量の要件がある場合にFloatを選ぶ
Floatは使用するビット数が少ないため、大量の値を保存する場合や、Floatを要求するAPIを使う場合に選ぶ理由があります。必要な精度とメモリ量に合わせて使い分けましょう。
処理速度は環境や計算内容によります。一律にFloatが速いとは限らないため、速度が重要な場合は対象環境で計測しましょう。
Floatは使用するビット数が少ない型ですが、処理速度は環境や計算内容によります。精度やメモリ量、使用するAPIに合わせて選びましょう。Swift公式:Floating-Point Numbers
