登录论坛

查看完整版本 : [求助]eidt text空输入问题,感谢帮助!


bigorangefdc
2008-11-09, 10:06
请教大侠:
我想用一个eidt text由客户输入数据,由于数据个数不定,所以可能有的eidt text没有输入,所以我用 isempty() 判断是否为空,如果为空我赋个没用的值给他,不为空就按用户输入的值,可是按下述代码总提示“user_entry”这个变量未定义,困惑,不知该如何改进,急求高人点拨!

user_entry=str2double(get(hObject,'String'));
if isempty(user_entry)==1
user_entry=0;
else
a=user_entry;
end

xiezhh
2008-11-09, 12:35
如下测试没有问题

fig = figure ;
set(fig,'units','normalized','position',[0.0381 0.0742 0.9277 0.8464],...
'menubar','none','name','成绩分析系统',...
'numbertitle','off','color',[0.925 0.914 0.847],'tag','cjfx');
panel0=uipanel(fig,'units','normalized','pos',[0.038 0.002 0.646 0.265],'title','请输入相关信息',...
'fontsize',12,'fontweight','bold');
panel0=uipanel(fig,'units','normalized','pos',[0.038 0.002 0.646 0.265],'title','请输入相关信息',...
'fontsize',12,'fontweight','bold');
uicontrol(panel0,'style','edit','units','normalized','pos',[0.55 0.74 0.15 0.22],...
'fontsize',14,'fontunits','normalized','tag','edit1','backgroundcolor',[1 1 1]);
h=findobj(gcf,'tag','edit1');

user_entry=str2double(get(h,'String'));
if isempty(user_entry)
user_entry=0;
else
a=user_entry;
end

需要注意的是,若编辑框不输任何字符,user_entry=str2double(get(h,'String'));返回的user_entry为NaN,不为空。