Choosing decimal places by user input.

7 visualizaciones (últimos 30 días)
Stephanie Velasco
Stephanie Velasco el 12 de Nov. de 2016
Comentada: the cyclist el 13 de Nov. de 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);

Respuestas (2)

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

Iniciar sesión para comentar.


the cyclist
the cyclist el 12 de Nov. de 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!

Translated by