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

问题描述 投票:0回答:1

我不敢相信我自己无法弄清楚这个问题,而且我也无法在网上找到答案,但是......

在长时间从事 Dart 和 Java 工作之后,我正在使用 Swift 工作。

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

示例:

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

该赋值不起作用,即使 f 是一个 Int,它也会起作用。这让我感到非常惊讶,因为 Float 不如 Double 精确(占用更少的内存)。

我也尝试过:

let d:Double = f as! Double

XCode 警告这将“总是失败”。

还尝试过:

let d:Double = Double(from: f)

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

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

swift xcode types casting primitive-types
1个回答
2
投票

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

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

print(d) // prints 0.34529998898506165
© www.soinside.com 2019 - 2024. All rights reserved.