有没有一种方法可以在Swift中将Double转换为Float?

zav*_*tra 10 ios swift

我正在尝试将从iPhone传感器检索到的双重转换为浮动.不幸的是,我似乎无法找到内置功能的任何资源.

如果我从一个double初始化一个Float或一个Cast到一个Float,如下所示:

let roll  = (Float)(attitude!.roll)
let pitch  = (Float)(attitude!.pitch)
Run Code Online (Sandbox Code Playgroud)

要么

let roll = Float(attitude!.roll)
let pitch = Float(attitude!.pitch)
Run Code Online (Sandbox Code Playgroud)

原始Double值仍然无法正确转换.例如,9.43622227.895268成为0.4868640.164693分别.有没有一种正确的方法从Double保存到Float,保留较大的十进制值?

Ale*_*ica 19

guard let unwrappedAttitude = attitude else { 
    fatalError("attitude was nil!")
}

let roll = Float(unwrappedAttitude.roll)
let pitch = Float(unwrappedAttitude.pitch)
Run Code Online (Sandbox Code Playgroud)

应该是要走的路.