MATLAB: Significant figures in table

MATLABprecisiontable appearance

Hello,
I am having this project where I have to make large amounts of data in to .csv files. To do this, as you see below, I am making a table, that I can later on export as a .csv file. That works perfectly, the problem is that I would like my data on the generated table to be presented at two decimal points, (i.e. not 1 but 1.00).
Here is the code that i have written to generate the table:
T={ 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h'; 3.19 0.25 67.1 66.7 70.3 13.0 45.0 55.2; 3.11 0.92 63.4 65.0 69.5 15.2 27.5 36.0; 3.11 1.24 62.0 64.1 69.0 12.2 22.4 30.5; 3.10 1.73 61.0 62.7 68.5 11.2 19.3 25.6; 3.06 2.09 59.3 62.0 67.9 10.7 17.7 23.1; 3.05 2.18 57.8 60.7 67.0 9.9 16.4 21.6; 2.91 0.43 67.8 65.1 63.1 11.0 33.4 46.8; 2.90 0.64 68.3 64.4 62.4 10.5 26.4 39.3; 2.88 1.22 68.0 63.2 60.3 10.2 20.1 29.1; 2.24 1.73 67.7 62.5 59.4 11.2 18.6 25.7; 2.85 2.08 66.9 61.3 58.1 10.7 17.0 23.3; 2.84 2.18 65.9 60.1 56.8 9.3 15.3 21.1};
C=T(2:end,:); %Excluding Column Names
Initial_Data=cell2table(C); %Making Table
Initial_Data.Properties.VariableNames=T(1,:); %Insert Desired Heading
————-
Thanks in advance for your help.

Best Answer

Do you need the redirection of the table object? You can create the CSV-file directly:
T = { 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h'; ...
3.19 0.25 67.1 66.7 70.3 13.0 45.0 55.2; ...
3.11 0.92 63.4 65.0 69.5 15.2 27.5 36.0}; % Abbrev. test data
fid = fopen(FileName, 'w');
if fid == -1, error('Cannot open file: %s', FileName); end
nCol = size(T, 2);
fmt = repmat('%s, ', 1, nCol);
fmt(end-1:end) = '\n';
fprintf(fid, fmt, T{1, 1:nCol});
fmt = repmat('%.2f, ', 1, nCol); % <- Determine the number format here!
fmt(end-1:end) = '\n';
Data = cell2mat(T(2:end, :)).';
fprintf(fid, fmt, Data);
fclose(fid);