将双精度值插入 Swift 字符串

Interpolate a double into a Swift string

我正在尝试使用以下格式创建 NSPredicate:

var aPredicate = NSPredicate(format: "latitude >= %d AND latitude <= %d AND longitude >= %d AND longitude <= %d", latitudeGreater, latitudeLesser, longitudeGreater, longitudeLesser)

我一直遵循的教程是使用日期并使用了 %@,但我遇到了一个错误,因为 latitude >= nil 不起作用。当我最终意识到我需要一种不同的插值格式时,我试图查找使用 double 的正确方法,但我似乎找不到任何相关信息。 %d 就像我在我的代码中现在给了我 latitude >= 0 以及其余的 0。我将如何让整个 double 正确进入 space?

我自己解决了....我只是在等待答案的时候尝试了一些东西,%f 工作得很好。我认为 "d" 将用于双精度,而 "f" 将用于浮点数,但后来我认为 "d" 会工作得很好......有人对此有任何信息吗?

根据 Apple 的 String Format Specifiers

%f | 64-bit floating-point number (double).

%d | Signed 32-bit integer (int).

你只需要像这样将 double 放入 \() 中:\(latitudeGreater)

来自 Swift 编程指南:let​ ​appleSummary​ = ​"I have ​\(​apples​)​ apples."