Choosing decimal places by user input.

6 views (last 30 days)
Stephanie Velasco
Stephanie Velasco on 12 Nov 2016
Commented: the cyclist on 13 Nov 2016
I was trying to write a code where I can ask the user to choose the number of decimal he/she wants to use when calculating the min or max of vector. But I am really stuck
I was trying to do what below but it doesn't work.
decimal = input('Type the number of decimals places to show in output:');
vector = [23 28 4.29 40.2 8];
min_ = min(Vector);
fprintf('\nMininum: %0.(%0.f)f',min_,decimal);

Answers (2)

Walter Roberson
Walter Roberson on 13 Nov 2016
decimal = input('Type the number of decimals places to show in output:');
vector = [23 28 4.29 40.2 8];
min_ = min(Vector);
fprintf('\nMininum: %0.*f', decimal, min_);
The * in the format signals that the number of decimal places should be extracted from the parameters.
  1 Comment
the cyclist
the cyclist on 13 Nov 2016
Nice. Was unaware of that functionality (and missed it when I scanned the documentation).

Sign in to comment.


the cyclist
the cyclist on 12 Nov 2016
I don't know if you can get the formatSpec itself as an input, so instead you can embed the formatSpec as a separate call to sprintf:
decimal = input('Type the number of decimals places to show in output:');
vector = [23 28 4.29 40.2 8];
min_ = min(vector);
fprintf(['\nMininum: %0.',sprintf('%d',decimal),'f\n'],min_);

Community Treasure Hunt

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

Start Hunting!