我有NSSlider,我直言它的变化。但我希望我的操作仅在滑块的浮点值为2.230000
或3.410000
时才起作用。
if (floatValue is y.xx0000) {
doSomething;
}
我的意思是,只有当我的浮点只有2个小数位不等于0时我才想做一些动作。我怎么能这样做?
答案 0 :(得分:4)
仅具有两个非零小数位的仅浮点值是n.00,n.25,n.50或n.75形式的数字。所有其他值都有两个以上的非零小数位。例如,你的例子3.41,实际上不是“3.41”。相反,它是:
3.410000000000000142108547152020037174224853515625
和“2.23”实际上是:
2.229999999999999982236431605997495353221893310546875
那你真正想做什么?
答案 1 :(得分:0)
我对这款游戏有些迟了,但是我在搜索类似内容时发现了这个问题。 在我看来,您想要做的就是将滑块的值四舍五入到小数点后两位。这样,您尝试使用滑块配置的事物和/或计算将始终有效,就好像它仅适用于精确的2个十进制值一样。
或者,您可以检查浮点值与该值之间的距离有多大(四舍五入到小数点后两位)。然后设置一个例如0.005的阈值,确定何时到达较远的距离。