簡単な質問だと思います。私が欲しい:
a = 1.154648126486416;
なる:
a = 1.154;
ではない:
a = 1.15000000000;
を使用せずにそれを行うにはどうすればよいですかformat('bank')
。
簡単な質問だと思います。私が欲しい:
a = 1.154648126486416;
なる:
a = 1.154;
ではない:
a = 1.15000000000;
を使用せずにそれを行うにはどうすればよいですかformat('bank')
。
あなたはこれを行うことができます:
a = floor(a*1000)/1000;
@gnovice の回答に基づいて、出力を文字列としてフォーマットし、余分なゼロを取り除くことができます。sprintf
すべての書式設定オプションについては、ドキュメントを参照してください。
str=sprintf('The result is %1.3f.',a);
disp(str)
「結果は 1.154 です」と表示されます。コマンドプロンプトで。または、文字列をファイルなどに書き込みます。
a = 1.154648126486416;
% desired precision
b = -3;
% your answer
ans = floor(a*10^(-b))/(10^(-b));
答えは 1.1540 です
残りの数字を気にしない場合はこれで問題ありませんが、気にする場合は単に「床」を「丸」に変更するだけです。
ans = round(a*10^(-b))/(10^(-b));
答えは 1.1550 です