How do I use a user input for a desired number of decimal places in an fprintf or similar statement? The instructions are to use the user's input to display or print the correct number of decimal places once calculations are performed. Thanks!

2 views (last 30 days)
I have tried using something like this to no avail:
fprintf('# Negative:\t\t\t\t\t%0.%f',decimal,neg)
Perhaps I need an sprintf statement or disp after the '# Negative' string? Any suggestions are most appreciated.
  4 Comments
Stephen23
Stephen23 on 5 Mar 2017
According to the fprintf documentation: "The precision operator can be a number, or an asterisk (*) to refer to an argument."
"Example: The input arguments ('%6.4f', pi) are equivalent to ('%*.*f', 6, 4, pi)."
It works, try it:
>> fprintf('%.*f\n', 5, pi)
3.14159

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 5 Mar 2017
fprintf('whatever %.*f', decimal, neg)

More Answers (0)

Community Treasure Hunt

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

Start Hunting!