UITABLE で表示される数値を任意桁数で表示できますか?

조회 수: 7 (최근 30일)
MathWorks Support Team
MathWorks Support Team 2017년 5월 10일
답변: MathWorks Support Team 2017년 5월 10일
UITABLE で数値を表示するとき、デフォルトでは小数点 4 桁まで表示されますが、それ以上の桁数を表示する方法を教えてください。

채택된 답변

MathWorks Support Team
MathWorks Support Team 2017년 5월 11일
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개)

카테고리

Help CenterFile Exchange에서 Symbolic Math Toolbox에 대해 자세히 알아보기

제품


릴리스

R2008a

Community Treasure Hunt

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

Start Hunting!