UITABLE で表示される数値を任意桁数で表示できますか?
9 views (last 30 days)
Show older comments
MathWorks Support Team
on 10 May 2017
Answered: MathWorks Support Team
on 10 May 2017
UITABLE で数値を表示するとき、デフォルトでは小数点 4 桁まで表示されますが、それ以上の桁数を表示する方法を教えてください。
Accepted Answer
MathWorks Support Team
on 11 May 2017
uitable 関数では、ColumnFormat プロパティを使って、format コマンドで指定可能な数値書式で表示させることが可能です。
>> f = figure;
>> t = uitable(f,'Data',rand(10,2));
>> set(t,'ColumnFormat',{'long G', 'long E'})
詳細については、ヘルプドキュメントより、uitable オブジェクトの ColumnFormat プロパティをご確認ください。
なお、format コマンドで指定できるフォーマット以外の、任意書式を指定するための機能は提供されていません。
代替案として、sprintf 関数を使用し、数値データを書式を指定した文字列に変換し、テーブルに表示させる方法があります。
f = figure('Position',[100 100 400 150]);
dat = num2cell(rand(3,2));
columnname = {'Rate', 'Amount'};
columneditable = [false false];
t = uitable('Units','normalized','Position',...
[0.1 0.1 0.9 0.9], 'Data', dat,...
'ColumnName', columnname,...
'ColumnEditable', columneditable);
data = get(t, 'data');
for i = 1:numel(data)
if(isnumeric(data{i}))
tempStr = sprintf('%1.6g', data{i}); % 任意書式を指定し文字列として出力
data{i} = tempStr;
end
end
set(t, 'Data', data); % Data プロパティを更新
0 Comments
More Answers (0)
See Also
Categories
Find more on Symbolic Math Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!