Is there an alternative for isstrprop to use on non integers?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Rodmehr Semnani
am 14 Dez. 2015
Kommentiert: Rodmehr Semnani
am 19 Jan. 2016
I've set up a GUI (without Guide) that first one must input parameters, and then a plot will show data. Problem is, I'm trying to find a way to check the parameters before I allow the UI to run. These parameters must be real numbers greater than 0. Using the isstrprop command works fine for positive integers, but it doesn't work when say I want to input a parameter for example 0.5 Hz.
Inside a button callback, I've inserted the following code:
try
if isstrprop(paedit.String,'digit')==1 && isstrprop(rtedit.String,'digit')==1 && isstrprop(siedit.String,'digit')==1
% accept parameters and display run button
accbtn.Visible='off';
accbtn.Enable='off';
runbtn.Visible='on';
stopbtn.Visible='on';
runbtn.Enable='on';
rtedit.Enable='off';
paedit.Enable='off';
siedit.Enable='off';
else
msgbox('Please enter a valid parameters','Input Error','error','modal');
end
catch
msgbox('Please enter a valid parameters','Input Error','error','modal');
end
This code makes sure that if a letter or a negative value is entered into one of the parameter edit boxes, it will not continue. It doesn't, however, let me do non integers. Is there a way to get around that with isstrprop or another command?
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 14 Dez. 2015
Really the easiest way is to use
tmp = str2double(paedit.String);
if ~isnan(tmp)
% accept parameters and display run button
accbtn.Visible='off';
accbtn.Enable='off';
runbtn.Visible='on';
stopbtn.Visible='on';
runbtn.Enable='on';
rtedit.Enable='off';
paedit.Enable='off';
siedit.Enable='off';
else
msgbox('Please enter a valid parameters','Input Error','error','modal');
end
No try/catch should be needed
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Environment and Settings finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!