setting decimal point precision in handles.object

I got some GUIDE GUI thingy that has a editable text field that I send some calculation to it base on user input in another 3 fields (also ediable text boxes.
How do I set that the display will be of 2 point after the decimal point? the standard routine of ('somethng %f.2'. variable) does not work in that case of:
function calcBtn_Callback(hObject, eventdata, handles)
SLa = str2double(get(handles.inputFld1,'String'));
SLb = str2double(get(handles.inputFld2,'String'));
SLc = str2double(get(handles.inputFld3,'String'));
semiPrim = abs((SLa + SLb + SLc) / 2);
area = sqrt(abs(semiPrim*(semiPrim-SLa)*(semiPrim-SLb)*(semiPrim-SLc)));
set(handles.triAreaCalcFld,'String', area); % <-- HOW TO MAKE this a 2 places after decimal precision?

 채택된 답변

Fangjun Jiang
Fangjun Jiang 2022년 11월 18일
편집: Fangjun Jiang 2022년 11월 18일

0 개 추천

As you can see, the value for "editable text field" should be string.
You can't do "set(handles.triAreaCalcFld,'String', area)" as "area" is numerical.
You shall do
AreaString=sprintf('%.2f',area);
set(handles.triAreaCalcFld,'String', AreaString)

댓글 수: 1

actually, the opposite of str2double(), num2str(), can do that doo.
num2str(pi,'%.2f')
ans = '3.14'

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Downloads에 대해 자세히 알아보기

제품

릴리스

R2022b

질문:

2022년 11월 18일

편집:

2022년 11월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by