turn 0 to 0.000

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

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.

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)

Products

Community Treasure Hunt

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

Start Hunting!