Skipping if Statement even though a has been set to 0, on matlab GUI
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi, My code skips this if statement when I set a to 0, why does this happen? It should go into the if statement and display a but it doesn't.
a = get(handles.A_Value,'String');
if a == 0
disp(a)
end
Thank you!
댓글 수: 1
Bob Thompson
2019년 11월 4일
When you try putting a debugger mark on this if statement, does it actually consider the if, or is something in the rest of your code causing it to skip over the statement entirely?
Could you share some more of the rest of your code? I would agree that it doesn't make sense that the if statement is never true, based on what you have shown, which makes me thing the problem isn't in the if statement itself, but somewhere in the rest of the code.
채택된 답변
Adam Danz
2019년 11월 4일
편집: Adam Danz
2019년 11월 4일
a = get(handles.A_Value,'String');
% a is a string, not a number.
% Option 1 is to convert a to a number
a = str2double(get(handles.A_Value,'String'));
if a == 0
disp(a)
end
% option 2 is to compare strings rather than numbers
a = get(handles.A_Value,'String');
if strcmp(a, '0')
disp(a)
end
% but be careful because what if user enters 0.0
% in that case '0' is different than '0.0'
댓글 수: 2
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!