turn 0 to 0.000

31 views (last 30 days)
Chris E.
Chris E. on 26 Nov 2012
Well this is a formatting issue, how can I force any number to have a specified format? Example:
I have 1.23, I need 1.230
I have 0, I need 0.000
I have 0.1011, I need 0.101
I have 5.1019, I need 5.102
I have 20.002, I need 20.002 (stays the same)
I seem to have tried a few methods I found on-line, however still have not found one that works exactly this way. I would never exceed 99.999 or -99.999. Thanks, Chris
  1 Comment
Matt Fig
Matt Fig on 27 Nov 2012
Are you talking about the value of the number or the display of the number?
fprintf('%.17f\n',.1) % Shows all digits

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 26 Nov 2012
Use sprintf():
sprintf('%.3f', 0) % to command window.
outputString = sprintf('%.3f', 5.1019) % Sticks it in a string.
  1 Comment
Chris E.
Chris E. on 27 Nov 2012
Thanks this works great!

Sign in to comment.

More Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 27 Nov 2012
Edited: Azzi Abdelmalek on 27 Nov 2012
use fprintf
a=0;
fprintf('%5.3f\n',a)

Matt Fig
Matt Fig on 27 Nov 2012
You cannot really change the underlying value too much. But as far as a display:
A = [1.23,0,0.1011,5.1019,20.002];
fprintf('\t%.3f\n',A)

Categories

Find more on MATLAB 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!