Choosing decimal places by user input.

14 Ansichten (letzte 30 Tage)
Stephanie Velasco
Stephanie Velasco am 12 Nov. 2016
Kommentiert: the cyclist am 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);

Antworten (2)

Walter Roberson
Walter Roberson am 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 Kommentar
the cyclist
the cyclist am 13 Nov. 2016
Nice. Was unaware of that functionality (and missed it when I scanned the documentation).

Melden Sie sich an, um zu kommentieren.


the cyclist
the cyclist am 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_);

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by