Number and alphabet
이전 댓글 표시
Hi,
I have edittext and pushbutton.
If I write with "sym(' ')" for example a1 or R2 or alfa34...matlab works good. If I write any text in this format a1 into edittext, then I want to enable pushbutton.
But if the firts is number for example 1a or 45R or 89gama, then matlab generate error. So if I write any text in this format 2a into edittext, then I want to disable pushbutton.
Please, how Can I do this?
Thank you
댓글 수: 3
Oleg Komarov
2012년 5월 7일
You cannot create variables which start from a number. This is a naming convention for variables and functions.
john
2012년 5월 7일
John D'Errico
2012년 5월 7일
Use a regular expression to test for this event.
답변 (1개)
Titus Edelhofer
2012년 5월 7일
Hi,
you can use isvarname for this purpose, something like
str = get(handles.edit1, 'string');
if isvarname(str))
set(handles.pushbutton1, 'enable', 'on')
else
set(handles.pushbutton1, 'enable', 'off')
end
Titus
댓글 수: 9
john
2012년 5월 7일
Oleg Komarov
2012년 5월 7일
isvarname does that, try Titus' solution.
john
2012년 5월 7일
john
2012년 5월 7일
Titus Edelhofer
2012년 5월 7일
Hi,
do I understand right: "only a number" should enable as well, although it's not a variable name? Then change the if to
if isvarname(str) || ~isnan(str2double(str))
Titus
Walter Roberson
2012년 5월 7일
Should only non-negative integers be allowed like 53, or should negatives be allowed? Floating point numbers? Exponential format? Titus's use of str2double() will allow numbers in all formats, including -3.83456e-009
john
2012년 5월 8일
john
2012년 5월 17일
Walter Roberson
2012년 5월 17일
What difficulties are you encountering?
카테고리
도움말 센터 및 File Exchange에서 Data Type Conversion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!