我设计了一个带有resize
选项的GUI。允许用户在2个提供的编辑框中输入图像大小。
function x_Callback(hObject, eventdata, handles)
% hObject handle to x (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
user_entry_X = str2double(get(hObject,'string'));
if isnan(user_entry_X)
errordlg('You must enter a numeric value','Bad Input','modal')
uicontrol(hObject)
return
end
上面的代码适用于edit box
X
。如果用户提供非数字输入,则会导致错误。但我没有得到如何获取输入的数值。我有一个pushbutton
名为resize
,在按下时,在编辑框图像中输入数字后应调整大小。
我应该在resize_callback
函数中使用什么?请帮帮我。
答案 0 :(得分:3)
您可以使用
获取编辑框的值S = get(editBoxHandle, 'string');
如果是数值,则将其转换为
N = str2num(S);
如果您只想让字符串中的数字混合字母和数字,则此代码
S = '123abc456xyz';
N = cell2mat(regexp(S, '\d+', 'match'));
disp(N)
提供N=123456
(来自此SO answer)。