Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-10-01
年龄: 38
帖子: 6
声望力: 0 ![]() |
![]()
我用gui实现一个简单的运算器,主程序代码如下:
A = get(handles.A,'String'); B = get(handles.B,'String'); C = get(handles.C,'String'); total=A-B-C; D = num2str(total); set(handles.D,'String',D); guidata(hObject, handles); 运行后结果非常奇怪,比如0-0-0,结果为-48 比如54-2-1,结果是-46 -47,这是什么问题。恳请那位大侠帮忙解决。 |
![]() |
![]() |
![]() |
#2 | |
普通会员
注册日期: 2008-04-12
年龄: 46
帖子: 67
声望力: 19 ![]() |
![]() 引用:
‘0’的ASCII字符表上对应十进制48。A-B-C='0'-'0'-'0'=48-48-48=-48。 所以了,应该写成 A = str2num( get( handles.A, 'String' ) ); B = str2num( get( handles.B, 'String' ) ); C = str2num( get( handles.C, 'String' ) ); total = A - B - C; D = num2str( total ); ... |
|
![]() |
![]() |