【发布时间】:2016-05-06 04:08:14
【问题描述】:
这是我的代码:
@IBAction func stepperChanged(sender: AnyObject) {
let stepper = sender as! UIStepper
stepper.stepValue = 0.1
stepper.minimumValue = 0.0
stepper.maximumValue = 1.0
print("stepper value: \(stepper.value)")
}
当我一直按减号按钮时,输出是:
stepper value: 0.2
stepper value: 0.1
stepper value: 1.38777878078145e-16
stepper value: 0.0
为什么在 0.1 和 0.0 之间会有 1.38777878078145e-16?
我想知道原因以及如何解决。
谢谢!
【问题讨论】:
-
把它想象成另一种形式的零。
-
为什么每次步进器的值发生变化时都要重置步进器的
stepValue、minimumValue和maximumValue? -
@matt 谢谢!但是我还有一个问题:stepper上的减号按钮在值达到minimumValue的时候应该是不能点击的,但是当值为
1.38777878078145e-16的时候还是可以点击的。只有当值真正变为0.0时,减号按钮才会被禁用。我该如何防止这种情况?而且,为什么它变成科学记数法而不是变成零? -
@rmaddy 我只是想在这里演示我的步进设置。是的,每次都设置它们不是一个好主意,但我认为在这里没关系。
标签: ios swift double scientific-notation uistepper