如何在 Swift 中从 Float 值创建 Double 值

How to create a Double value from a Float value in Swift

提问人:Nerdy Bunz 提问时间:1/23/2023 更新时间:1/23/2023 访问量:607

问:

我不敢相信我自己无法弄清楚这一点,我也无法在网上找到答案,但是......

在Dart和Java上工作了很长时间后,我正在Swift工作。

我有一种情况,我的组件 A 提供 Float 值,而组件 B 需要 Double 值。我不知道如何将浮点数转换/转换/重新实例化为双倍!

例:

let f:Float = 0.3453
let d:Double = aVal; 

该赋值不起作用,即使 f 是 Int,它也会起作用。这对我来说非常令人惊讶,因为 Float 的精度不如 Double(占用的内存更少)。

我也试过:

let d:Double = f as! Double

XCode 警告说,这将“永远失败”。

还尝试过:

let d:Double = Double(from: f)

XCode 警告“f 应该是解码器类型”

必须有一个非常明显/简单的解决方案。

Swift Xcode 转换 基元类型

评论

0赞 workingdog support Ukraine 1/23/2023
尝试let d = Double(f)
0赞 HangarRash 1/24/2023
您可能希望阅读 Swift 本书的 Numeric Type Conversion 部分(以及其余部分)。

答:

2赞 Robin 1/23/2023 #1

正如@workingdog所说,这将起作用:

let f: Float = 0.3453
let d: Double = Double(f)

print(d) // prints 0.34529998898506165