Clear Filters
Clear Filters

Add zero decimal digits in order to have all the elements of a matrix with same number of decimal digits

29 views (last 30 days)
How can I add zero decimal digits to a number in order to have the same number of decimal digits in the numbers of a matrix? For instance, if I have only a "27" how can I change it to a "27.000"? I have already tried the function
in order to have the same decimal formt of all the elements of matrix A, but it does not work.

Accepted Answer

Walter Roberson
Walter Roberson on 4 Dec 2021
Edited: Walter Roberson on 5 Dec 2021
I already showed you how to use compose with a format to get a fixed number of digits.
Walter Roberson
Walter Roberson on 6 Dec 2021
take the result of the standardizeMissing and array2table() with 'VariableNames' set to the header for the column. writetable() the results.
Walter Roberson
Walter Roberson on 6 Dec 2021 has more background about text files.

Sign in to comment.

More Answers (2)

Rik on 4 Dec 2021
There is a distinction between the way data is stored and how it is displayed.
You can change the data type (double, single, cell, char, etc) to change the underlying data.
You can use functions like fprintf and sprintf to display your data a certain way.
Rik on 5 Dec 2021
Did you not see the if statement? The loop I showed will write only 1 value at a time, so you have full control over the format.
But the solution Walter showed you will also work.
Emilio Pulli
Emilio Pulli on 6 Dec 2021
Thank you man! I use the Walter answer because was faster, but also your advices helped me understanding better the problem! Thank you again for the patience!

Sign in to comment.

G A on 4 Dec 2021
A = magic(3)
A = 3×3
8 1 6 3 5 7 4 9 2
B = num2str(A,'%.3f\t')
B = 3×17 char array
'8.000→1.000→6.000' '3.000→5.000→7.000' '4.000→9.000→2.000'


Find more on Data Import and Export in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!