Create a variable string array with different number of sig figs based on GUI dropdown
조회 수: 9 (최근 30일)
이전 댓글 표시
I have a GUI that has a drop down to change the number of sig figs used in the GUI.
p = 0.105;
n = 25;
%sigFigs = str2double(app.SigFigDropdown.Value);
sigFigs = 3;
if sigFigs == 1
s = sprintf("%.1f (N=%d)", p, n);
elseif sigFigs == 2
s = sprintf("%.2f (N=%d)", p, n);
elseif sigFigs == 3
s = sprintf("%.3f (N=%d)", p, n);
else
s = sprintf("%.2f (N=%d)", p, n);
end
disp(s)
I'd like to simplify the code if possible to make it where the sig figs is a variable in the sprintf call or something similar to that. For example, something like what is below where the x is variable based on the value that is selected in the GUI dropdown but I know that won't actually work where the integer next to the %. is variable as well.
s = sprintf("%.xf (N=%d)",x=sigFigs, p, n);
disp(s)
댓글 수: 0
채택된 답변
Dyuman Joshi
2023년 12월 16일
Use asterick to provide a value for field width -
p = 0.105;
n = 25;
%sigFigs = str2double(app.SigFigDropdown.Value);
for sigFigs = 1:3;
fprintf('The output for sigFigs = %d', sigFigs)
% v
s = sprintf("%.*f (N=%d)", sigFigs, p, n);
disp(s)
end
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!