[已解决] 新手求解:MATLAB GUI中从输入框获得数字

[复制链接]
mbkill 发表于 7 天前
本帖最后由 mbkill 于 2022-11-23 20:01 编辑

MATLAB GUI 问题求教:
实现功能:从输入框中获得数字 然后点击按钮后输出值
代码情况如下
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
%set(handles.text1,'String',num2str(X));
M0=get(handles.edit1,'String');
M=str2num(M0);
%M=str2double(M0); 此种情况不报错
set(handles.text1,'String',num2str(M));

报错情况:
错误使用 str2num (line 32)
需要字符串或字符数组输入。

出错 mjisuan>pushbutton1_Callback (line 129)
M=str2num(M0);

出错 gui_mainfcn (line 95)
        feval(varargin{:});

出错 mjisuan (line 42)
    gui_mainfcn(gui_State, varargin{:});

出错 @(hObject,eventdata)mjisuan('pushbutton1_Callback',hObject,eventdata,guidata(hObject))

Error while evaluating uicontrol Callback

>>
版本:R2014a

想请教一下大家:
在论坛里看了好多帖子,都是这么写的,不报错。但是不理解为啥我换成了str2double 就好了。

str2num报错

str2num报错

str2double成功

str2double成功

mjisuan.m

4.94 KB, 下载次数: 2

M文件

mjisuan.fig

2.71 KB, 下载次数: 1

FIG文件

最佳答案


1119093102 发表于 7 天前
mbkill 发表于 2022-11-23 20:04
再请教下 我只是输入一个数字  也是CELL类型吗
如果CELL类型 我要用str2num,如何修改? ...

文本就是用cell存的,直接用str2double吧,效果都是字符串转成数字,转不来的变成NaN,str2num转不出变成【】,元胞索引用{}获取里面的内容,百度一下就懂了

6 条回复


1119093102 发表于 7 天前
有可能是版本问题,你这个文件运行不了,还缺fig文件。

mbkill 发表于 7 天前
1119093102 发表于 2022-11-23 19:58
有可能是版本问题,你这个文件运行不了,还缺fig文件。

马上上传 谢谢!

1119093102 发表于 7 天前
mbkill 发表于 2022-11-23 19:59
马上上传 谢谢!

str2num不能输入为cell类型,str2double可以

mbkill 发表于 7 天前
1119093102 发表于 2022-11-23 20:03
str2num不能输入为cell类型,str2double可以

再请教下 我只是输入一个数字  也是CELL类型吗
如果CELL类型 我要用str2num,如何修改?

1119093102 发表于 7 天前
mbkill 发表于 2022-11-23 20:04
再请教下 我只是输入一个数字  也是CELL类型吗
如果CELL类型 我要用str2num,如何修改? ...

文本就是用cell存的,直接用str2double吧,效果都是字符串转成数字,转不来的变成NaN,str2num转不出变成【】,元胞索引用{}获取里面的内容,百度一下就懂了
回复此楼

mbkill 发表于 7 天前
1119093102 发表于 2022-11-23 20:08
文本就是用cell存的,直接用str2double吧,效果都是字符串转成数字,转不来的变成NaN,str2num转不出变成 ...

好的,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表