我正在尝试将从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.436222
和27.895268
分别成为0.486864
和0.164693
。是否有一种正确的方法可以从Double中转换为Float来保留较大的十进制值?
答案 0 :(得分:17)
guard let unwrappedAttitude = attitude else {
fatalError("attitude was nil!")
}
let roll = Float(unwrappedAttitude.roll)
let pitch = Float(unwrappedAttitude.pitch)
应该是要走的路。