www.gusucode.com > mbcguitools 工具箱 matlab 源码程序 > mbcguitools/xregCheckIsNum.m
function varargout=xregCheckIsNum(varargin) % XREGISCHECKISNUM Callback routine to check if input is a number % varargout= xregCheckIsNum % % Description % callback routine to check if input is a number % assumes that previous number stored in gcbo UserData % It is not intended for use from the MATLAB Command Line % % Outputs IsNum (0,1) % Copyright 2000-2013 The MathWorks, Inc. and Ford Global Technologies, Inc. if nargin && isscalar(varargin{1}) && isgraphics(varargin{1}) src=varargin{1}; varargin= varargin(2:end); else src= gcbo; end Num= get(src,'UserData'); Str= get(src,'String'); NewNum=str2num(Str); IsNum= ~isempty(NewNum); for i=1:2:nargin-1 Prop= varargin{i}; Val = varargin{i+1}; switch lower(Prop) case 'int' if strcmpi(Val,'on') IsNum= fix(NewNum)==NewNum; end case 'range' if isa(Val,'double') && length(Val)==2 IsNum= NewNum>=Val(1) & NewNum<=Val(2); end end end if IsNum set(gcbo,'UserData',NewNum); else set(gcbo,'String',num2str(Num)); end if nargout==1 varargout{1}=IsNum; end