setting decimal point precision in handles.object
4 ビュー (過去 30 日間)
古いコメントを表示
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?
0 件のコメント
採用された回答
Fangjun Jiang
2022 年 11 月 18 日
編集済み: Fangjun Jiang
2022 年 11 月 18 日
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 件のコメント
Fangjun Jiang
2022 年 11 月 18 日
actually, the opposite of str2double(), num2str(), can do that doo.
num2str(pi,'%.2f')
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Migrate GUIDE Apps についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!