指定した桁数で小数の​丸めを行うにはどうす​ればよいですか?

74 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 25 Oct 2013
指定した桁数で小数の丸めを行うにはどうすればよいですか?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 9 Jan 2018
Edited: MathWorks Support Team on 9 Jan 2018
R2014b 以降のバージョンであれば round 関数の追加引数で桁数を指定しての丸め処理を実行できます。
例えば、小数点以下 3 桁にする場合、以下のように実行します。
 
>> Y = round(pi,3)
ans =
3.1420
R2014a 以前のバージョンで小数第 n 桁で丸めを行う場合、小数点を 10^(n-1) 分移動させて丸めを行った後、小数点を元の位置まで戻すことで実現できます。例えば、小数第 3 桁を四捨五入で丸める場合、round 関数を利用して以下のように実行します。
 
>> % 12.34567 → 1234.567にしてroundを実行してから小数点を元に戻す
>> n = 3;
>> unit = 10^(n-1);
>> (round(12.34567 * unit)) / unit
ans =
12.3500
round 関数以外にも、floor、ceil、fix の丸めを行う関数で上記方法が使用できます。これらのプログラムを MATLABファンクションファイルにしたものを、ページ下部の関連ドキュメントよりダウンロードできます。
指定した桁で四捨五入:decround.m
指定した桁で負の無限大方向へ丸め:decfloor.m
指定した桁で正の無限大方向へ丸め:decceil.m
指定した桁でゼロ方向へ丸め:decfix.m
(注意)ファイルのダウンロードはダウンロード対象のリンクを右クリックし「対象をファイルに保存」を選択してダウンロードを行ってください。
サンプルプログラムでは第一入力引数に小数を入力し、第二入力引数に桁数を指定します。
●実行例(小数第3桁で四捨五入)
>> decround(12.34567,3)
ans =
12.3500

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!