I have a problem. I want to create a edit text and then when I type a string in it, it will display nothing like a empty. That is to say it allows only numbers. I found some ways but they use push button for checking. Please help me.
Thank you in advance.

 채택된 답변

Jan
Jan 2016년 3월 31일

0 개 추천

What does "only numbers" exactly mean? "1e3" is a number also.
What about checking the value inside the callback?
function Edit_Callback(hObject, EventData)
Str = get(hObject, 'String');
Value = sscanf(Str, '%g', 1);
fixStr = sprintf('%g', Value);
set(hObject, 'String', 'fixStr);
This tries to interprete the contents as 1 number and removes other characters.

댓글 수: 2

Quan Tran
Quan Tran 2016년 4월 1일
Thank you so much
But I have another problem :) When I typed '8.8*10^-7' in edit text, then I pushed enter button but it displayed '8.8'. How can I control it? I mean I want to type the mathematical symbol also.
Walter Roberson
Walter Roberson 2016년 4월 1일
You need to define all of the possible number formats, and then you need to write code that parses them. For example do you also allow 8.8E-7 ? 8.8d-7 ? .5e-7 ? 5E+007 ? 8.8+5.2i ? 8.8^-7 (where it is not 10 which is the base being raised) ? 8.8•10^+7 ? 8.8*10^—7 (notice that is one of the dashes, not a minus sign) ? 8.8*10ˆ7 (notice that is ˆ not ^) ? 8.8·10^-7 ? 8.8×10^-7 ?

댓글을 달려면 로그인하십시오.

추가 답변 (3개)

Daveed Daveed
Daveed Daveed 2022년 7월 31일

0 개 추천

Hello. i was walking around here and i thought the following solution might be usefull for future people (may be the past time traveler :) )
function prevent_string(textbox_control)
if textbox_control.String ~= "" && isnan(str2double(textbox_control.String))
textbox_control.String = "";
end
Walter Roberson
Walter Roberson 2022년 7월 31일

0 개 추천

These days you would use a
uieditfield('numeric')
which requires uifigure() (and will not work for traditional figures)

카테고리

도움말 센터 및 File Exchange에서 Creating, Deleting, and Querying Graphics Objects에 대해 자세히 알아보기

제품

태그

질문:

2016년 3월 31일

답변:

2022년 7월 31일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by