我是半高级的,并且不明白为什么此代码无法正常执行。我希望代码在特定时间执行某些操作。感谢您的输入。 /汉克
running=1;
while running==1
if hour(now)==17 & minute(now)==4 & second(now)==59
(Do Stuff)
running=0;
end
end
答案 0 :(得分:2)
可能是因为second
返回一个双精度数组,并且浮点精度为double,条件second(now)==59
可能永远不会成立。我会用以下内容替换它:abs(second(now)-59)<1e-3
或您认为合适的任何阈值。 hour
和minute
返回的值是整数,因此相等测试应该有效。
答案 1 :(得分:1)
据我所知,second
不返回整数。因此,第二(现在)== 59的平等是暧昧的。
最好使用round(second(now))==59