MATLAB Answers

Add s.f. to variable

7 views (last 30 days)
Marisabel Gonzalez
Marisabel Gonzalez on 7 Apr 2019
Edited: A. Sawas on 8 Apr 2019
Hi, I was wondering if there is a way to set specifically the number of s.f. to a variable as you do when printing the answer. For instances,
sprintf ('%.2f',a)
ans =
I want that but not to print the answer. Instead I want to alter the s.f. used in the variable, i.e. my code would be forced to use 2.34 in its calculations.


Sign in to comment.

Answers (1)

A. Sawas
A. Sawas on 8 Apr 2019
Edited: A. Sawas on 8 Apr 2019
I guess you mean by s.f. the format string in the sprintf function which is '%.2f' in your example.
There is a way to specify variable number of characters by using asterisks (*), like this example:
% 6 is the width
% 3 is the number of decimals
% 0.123456 is the number to be formatted
sprintf('%*.*f', 6, 3, 0.123456)
Another longer way would be to use sprintf to build your format string.
fs = sprintf('%%%d.%df',6,3);
sprintf(fs, 0.123456);


Sign in to comment.




Community Treasure Hunt

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

Start Hunting!