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

时间:2016-06-01 19:48:11

标签: ios swift

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

如果我将一个Float或一个强制转换器从一个双精度器初始化为Float:

let roll  = (Float)(attitude!.roll)
let pitch  = (Float)(attitude!.pitch)

或者

let roll = Float(attitude!.roll)
let pitch = Float(attitude!.pitch)

原始Double值仍然无法正确转换。 例如,9.43622227.895268分别成为0.4868640.164693。是否有一种正确的方法可以从Double中转换为Float来保留较大的十进制值?

1 个答案:

答案 0 :(得分:17)

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

let roll = Float(unwrappedAttitude.roll)
let pitch = Float(unwrappedAttitude.pitch)

应该是要走的路。