Storing fewer decimal places in an array to display using a uitable
3 views (last 30 days)
Show older comments
I have a list of varaibles that are required to be displayed however, I can't work out how to manipulate the values so that they are presentable when dispalyed in the uitable. I need to decrease the number of decimal places dispalyed and centralise them in the table however I can't work out, nor find on previous and related forums, how to do this.
Thanks yoh in advance for your help.
2 Comments
Walter Roberson
on 4 Feb 2022
Is this for "traditional figures" (GUIDE) or "uifigure" (App Designer) ? I would need to research for uifigure(); for traditional figures, the method of centering each entry requires converting to a cell array of character vectors, each of which has to have some HTML 1.1 code added to it.
Accepted Answer
Simon Chan
on 4 Feb 2022
Change the number to a string by using function sprintf as follows:
uit1 = uitable(uif,'Position',[5 155 500 100]);
uit1.Data = rand(3,5); % Upper uitable using number
uit2 = uitable(uif,'Position',[5 10 500 100]);
uit2.Data = arrayfun(@(x) sprintf('%.2f',x),rand(3,5),'uni',0); % Lower uitable using string

7 Comments
Walter Roberson
on 5 Feb 2022
uif = figure(); %traditional figure not uifigure
uit1 = uitable(uif,'Position',[5 155 500 100]);
uit1.Data = rand(3,5) * 100; % Upper uitable using number
uit2 = uitable(uif,'Position',[5 10 500 100]);
uit2.Data = arrayfun(@(x) sprintf('<HTML><CENTER>%.2f</CENTER>',x),uit1.Data,'uni',0); % Lower uitable using string
You might notice that the alignment is not center in practice. And if you use
uit2.Data = arrayfun(@(x) sprintf('<HTML><TBODY><TR><TD ALIGN="RIGHT">%.2f</TD></TR></TBODY>',x),uit1.Data,'uni',0); % Lower uitable using string
then in practice the alignment is not right (or center if you use that.) But you can tell that TBODY was used: a heavier weight of font is used for the characters.
In theory you can use HTML 1.1 in that context; in practice it can be difficult to get to work.
I seem to remember that I did get it to work in some earlier releases. Unfortunately, it would probably be difficult for me to find the appropriate postings now.
More Answers (0)
See Also
Categories
Find more on Spline Postprocessing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
