Choosing decimal places by user input.

11 ビュー (過去 30 日間)
Stephanie Velasco
Stephanie Velasco 2016 年 11 月 12 日
コメント済み: the cyclist 2016 年 11 月 13 日
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);

回答 (2 件)

Walter Roberson
Walter Roberson 2016 年 11 月 13 日
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 件のコメント
the cyclist
the cyclist 2016 年 11 月 13 日
Nice. Was unaware of that functionality (and missed it when I scanned the documentation).

サインインしてコメントする。


the cyclist
the cyclist 2016 年 11 月 12 日
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_);
  1 件のコメント
Stephanie Velasco
Stephanie Velasco 2016 年 11 月 12 日
It worked perfectly! thank you so much!

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by