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 个评论

Are you talking about the value of the number or the display of the number?
fprintf('%.17f\n',.1) % Shows all digits

请先登录,再进行评论。

 采纳的回答

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

更多回答(2 个)

Azzi Abdelmalek
Azzi Abdelmalek 2012-11-27
编辑:Azzi Abdelmalek 2012-11-27
use fprintf
a=0;
fprintf('%5.3f\n',a)
Matt Fig
Matt Fig 2012-11-27
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)

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by