我遇到了一个奇怪的(至少对我来说)Xcode和Swift 2的问题。如果你试图将它运行到一个游乐场(或在一个项目中,它并不重要),打印的值是相当的有点偏离我的预期。当它应该为0时,至少有一个是
func run() {
var test : Float = 0.5
while test > 0 {
test -= 0.1
print(test)
}
}
run()
这将打印以下值:
0.4
0.3
0.2
0.1
1.49012e-08
-0.1
我当然会期待0。 有点奇怪的是,如果你打印(0.1 - 0.1)它正确记录0.0。 如果将test var更改为Double(打印的值加倍,2 ......),这并不重要。也不是强制将描述值转换为Float(或Double)。我发现的唯一的解决方法是将它们全部整理,然后通过除以10来转换为浮动。
非常感谢任何帮助!