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 comentario

Matt Fig
Matt Fig el 27 de Nov. de 2012
Are you talking about the value of the number or the display of the number?
fprintf('%.17f\n',.1) % Shows all digits

Iniciar sesión para comentar.

 Respuesta aceptada

Image Analyst
Image Analyst el 26 de Nov. de 2012

0 votos

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

Más respuestas (2)

Azzi Abdelmalek
Azzi Abdelmalek el 27 de Nov. de 2012
Editada: Azzi Abdelmalek el 27 de Nov. de 2012

0 votos

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

0 votos

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)

Categorías

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by