Effacer les filtres
Effacer les filtres

Syntax Issue in If Statement Using Handles

1 vue (au cours des 30 derniers jours)
Jay
Jay le 11 Avr 2016
Commenté : Jay le 11 Avr 2016
I am trying to write an if statement in a function, to determine if the handles values are of valid type, as per the stipulation in the texts written above said handles in the GUI.
For handle 'edit1' I have written:
if handles.edit1 == NaN
set(handles.edtit2, 'enable', 'off') && set(handles.listbox1, 'string', 'Date must be of stated syntax')
else set(handles.edit2, 'enable', 'on')
end
During runtime the code skips to else not flagging
if handles.edit1 == Nan
as true thus setting the 'handles.edit2' off and having the error showing in listbox1.
What is wrong with my if statement?

Réponse acceptée

Stephen23
Stephen23 le 11 Avr 2016
Modifié(e) : Stephen23 le 11 Avr 2016
You cannot test for equality of NaN's, because as the documentation clearly states, NaN's are not equal to each other. Use isnan instead:
>> handles.edit1 = NaN;
>> handles.edit1 == NaN
ans =
0
>> isnan(handles.edit1)
ans =
1

Plus de réponses (1)

Walter Roberson
Walter Roberson le 11 Avr 2016
Use ishghandle() instead testing for NaN .
  1 commentaire
Jay
Jay le 11 Avr 2016
Thanks Walter,
I will see if that does what I need.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Graphics Object Programming dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by