我正在用 matlab 制作计算器,当按下 sin 按钮时,我想从编辑框中获取最后一个输入数字并将其放入 sind() 括号中。怎么做?我搜索了几个小时,没有找到任何东西。
现在我的 sin 按钮代码如下所示:
% --- Executes on button press in pushbutton40.
function pushbutton40_Callback(hObject, eventdata, handles)
inpfieldtxt = get(handles.edit1,'string');
if(strcmp(inpfieldtxt,'0.')==1)
set(handles.edit1,'String','sind(');
else
inpfieldtxt=strcat(inpfieldtxt,'sind(');
set(handles.edit1,'String',inpfieldtxt)
end
它只是将'sind(' 插入到编辑框,然后我需要手动输入数字和右括号')'。
我希望这个按钮作为 Windows 7 计算器的 sin 按钮做出反应。它还获取最后一个数字并将其放入 sin(here)。
我得到了它!这是解决方案:
% --- Executes on button press in pushbutton40.
function pushbutton40_Callback(hObject, eventdata, handles)
inpfieldtxt = get(handles.edit1,'string');
if(strcmp(inpfieldtxt,'0.')==1)
set(handles.edit1,'String','sind(');
else
isNumber = (inpfieldtxt >= '0') & (inpfieldtxt <= '9');
i=length(inpfieldtxt);
while (i > 0) && (isNumber(i))
if isNumber(i)
i = i-1;
end
end
lastnmb = inpfieldtxt(i+1:end);
inpfieldtxt = inpfieldtxt(1:i);
set(handles.edit1,'String',[inpfieldtxt,'sind(',lastnmb,')']);
end
非常感谢您的帮助!