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 commentaire

Matt Fig
Matt Fig le 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

Connectez-vous pour commenter.

 Réponse acceptée

Image Analyst
Image Analyst le 26 Nov 2012

0 votes

Use sprintf():
sprintf('%.3f', 0) % to command window.
outputString = sprintf('%.3f', 5.1019) % Sticks it in a string.

Plus de réponses (2)

Azzi Abdelmalek
Azzi Abdelmalek le 27 Nov 2012
Modifié(e) : Azzi Abdelmalek le 27 Nov 2012

0 votes

use fprintf
a=0;
fprintf('%5.3f\n',a)
Matt Fig
Matt Fig le 27 Nov 2012

0 votes

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)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by