3
iPhoneセンサーから取得したdoubleをfloatに変換しようとしています。残念ながら、私はそうするための組み込み機能に関するリソースを見つけることはできません。SwiftでDoubleをFloatに変換する適切な方法はありますか?
私はそうのようなdoubleからfloatにfloatまたはキャストを初期化する場合:
let roll = (Float)(attitude!.roll)
let pitch = (Float)(attitude!.pitch)
それとも
let roll = Float(attitude!.roll)
let pitch = Float(attitude!.pitch)
オリジナルのダブル値がまだ正しく変換されません。 たとえば、9.436222
および27.895268
はそれぞれ0.486864
および0.164693
になります。より大きい10進値を保持するDoubleからFloatにキャストする適切な方法はありますか?
あなたの2番目のコードスニペットは完全にうまくいくようです - あなたのコードに間違いがあります! – luk2302
私は簡単な遊び場を実行して、リストアップした正確な数値で浮動小数点数に変換し、正しい値を取得できます。精度の低下がありますが、間違った値が表示されていません。 – keithbhunter
これは、モーションマネージャで '.attitude'を呼び出すとロール、ピッチ、ヨーを度で表示しますが、' .roll'や '.pitch'や' .yaw'を呼び出すと、 '.attitude'の度数で、ラジアン単位の個々の成分を与えます! – zavtra