How do you align numbers within a column in UItable?
40 views (last 30 days)
Show older comments
We're using GUIDE to build financial applications for investment bankers. They expect to see a column of dollar figures right aligned but there seems to be no obvious way to right align characters in a column in UItable. Any help would be GREATLY appreciated!!!
0 Comments
Accepted Answer
Walter Roberson
on 10 Mar 2011
Golf'ing Oleg's solution:
dat = {'23234.43 $'; '234.43 $'; '0.23 $'};
dat = cellfun(@(s) sprintf('%*s',max(cellfun(@length,dat)),s),dat);
and then pick up at "Create table".
3 Comments
More Answers (2)
Oleg Komarov
on 10 Mar 2011
I came up with this solution:
dat = {'23234.43 $'; '234.43 $'; '0.23 $'};
Pad string amounts with blanks
l = cellfun(@length,dat);
dat = num2cell([arrayfun(@blanks,max(l)-l,'un',0) dat],1);
dat = strcat(dat{:});
Create table with courier font
f = figure('Position',[200 200 400 150]);
cnames = 'Amounts';
rnames = {'First','Second','Third'};
t = uitable('Parent',f,'Data',dat,'ColumnName',cnames,...
'RowName',rnames,'Position',[20 20 360 100],...
'fontname','courier');
Oleg
2 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!