Add s.f. to variable

3 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,
a=2.335444444444
sprintf ('%.2f',a)
ans =
2.34
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.

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);

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!