using fprintf to print same length values

4 views (last 30 days)
Ronaldo
Ronaldo on 30 Dec 2013
Edited: Daniel on 1 Sep 2017
How can I use fprintf to print values with the same length (the number of digits after the pointer is changing based on the number of digits before the pointer)?
0.00000000
30.0000248
360.000305

Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 30 Dec 2013
Edited: Azzi Abdelmalek on 30 Dec 2013
b=360.000305
m=9 % fixed length
out=sprintf('%9.9f',b)
ii=numel(strfind(out,'.'))
out=out(1:m+ii)
  8 Comments
Ronaldo
Ronaldo on 31 Dec 2013
Please add the following line (for the sake of completeness). I will accept the answer. Thanks for your great help.
fprintf('%s\n', out);

Sign in to comment.


Daniel
Daniel on 1 Sep 2017
Edited: Daniel on 1 Sep 2017
b=360.000305
m=9 % fixed length
out=sprintf('%9.9f',b)
ii=numel(strfind(out,'.'))
out=out(1:m+ii)
% Azzi's got no time for correctness
fprintf('%s\n', out)

Tags

Community Treasure Hunt

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

Start Hunting!