1. ホーム
  2. casting

[解決済み] Swift で CGFloat を Float にキャストする

2023-01-09 15:48:37

質問

ある値を Float として保存する必要がありますが、元データは CGFloat :

let myFloat : Float = myRect.origin.x

しかし、これはコンパイラのエラーになります: 'NSNumber' is not of subtype 'Float'

そこで、明示的にこのようにキャストすると

let myFloat : Float = myRect.origin.x as Float

が、今度は「式の型 'Float' を 'Float' に変換できない」というコンパイラーエラーが発生します。

これを行うための正しい方法とコンパイラを満足させる方法を教えてください。

どのように解決するのですか?

を使用することができます。 Float() のイニシャライザを使用します。

let cgFloat: CGFloat = 3.14159
let someFloat = Float(cgFloat)