将双精度值插入 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."
我正在尝试使用以下格式创建 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."