ios - 如何将负零与正零分开?

标签 ios swift numbers zero negative-zero

我希望能够在 swift 中测试零是正数还是负数。

let neg: CGFloat = -0
let pos: CGFloat = +0

if pos == neg {
    // this gets executed, but I don't want this
}

上面的代码不能像我需要的那样工作,有人可以帮助我吗?

谢谢;)

最佳答案

有“负零”和“正零” float 。 您可以通过检查 .sign 属性来消除它们的歧义,但是它们 (有意地)比较相等:

let neg: CGFloat = -0.0
let pos: CGFloat = +0.0

print(neg.sign) // minus
print(pos.sign) // plus
print(neg == pos) // true

if (neg == pos && neg.sign == pos.sign) {
    // This is not executed.
}

请注意,您必须使用浮点文字(“-0.0”或“+0.0”) 在初始化中。整数文字(“+0”,“-0”)相等 并转换为正零。

关于ios - 如何将负零与正零分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52983262/

相关文章:

IOS:AVAudioPlayer 停止播放

ios - 如何在导航 Controller 中的 segues 之间移动?

iOS 8 widget,在应用组之间向前和向后共享数据

ios - 使用 Alamofire post 方法登录

java - Java 中的数字文字是否允许使用下划线?

algorithm - 设计小型可比对象

ios - Xcode 错误 : Code signing is required for product type 'Application' in SDK 'iOS 10.0'

ios - 如何使用基于数组的 NSPredicate 过滤核心数据对象

ios - 未调用 HMAccessoryDe​​legate 方法

python - 如何在 Python 3 中打印出编号列表