2017-02-05 16 views

答えて

1

適切な値でフォーマット文字列を生成する必要があります。それはfprintf以内に交換されることはありません。

d = 5; 
val = 7.123456789 
fmt_str = ['%.' num2str(d) 'f']; % fmt_str = '%.df', d replaced with number 
fprintf(fmt_str, val); 
+0

実際には、書式指定子自身のための変数を含めるための特別な構文があります。 (私の答えを参照してください) –

2

あなたは書式設定引数を示すために、特別なformatspecifier *を使用することができます。例:

octave:1> val = exp(1) 
    val = 2.7183 
octave:2> decimalPlaces = 3; 
octave:3> fprintf('The value to 3 sig digits is: %.*f \n', decimalPlaces, val) 
    The value to 3 sig digits is: 2.718 

matlab documentationにはこのセクションがあります。

+0

クールな豆、私はそれが好きです。 :) – beaker

関連する問題