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

9 ビュー (過去 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 Center および File ExchangeSymbolic Math Toolbox についてさらに検索

製品


リリース

R2008a

Community Treasure Hunt

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

Start Hunting!