[実数を四捨五入する]

実数を四捨五入するにはRoundとRoundTo関数を使用します。

・Roundは小数点以下を四捨五入しますが、数学の四捨五入とは異なります。
 Delphiの四捨五入は、財務・統計分野などで採用されている四捨五入の仕方で、小数部分の0.5を、一番近い偶数になるように四捨五入するものです。
 例)0.5→0 1.5→2 2.5→2 3.5→4 4.5→4 5.5→6 6.5→6 
 第2引数で四捨五入後の精度(桁数)を指定できます。

実数を四捨五入して表示します。
【ソースコード】 [tips0032.pas]
program tips0032;
{$APPTYPE CONSOLE}
uses SysUtils,Math;
begin
 WriteLn('◆四捨五入(銀行型丸め)');
 WriteLn('Round(3.5) =',Round(3.5));
 WriteLn('Round(2.5) =',Round(2.5));
 WriteLn('Round(1.5) =',Round(1.5));
 WriteLn('Round(0.5) =',Round(0.5));
 WriteLn('Round(0.0) =',Round(0.0));
 WriteLn('Round(-0.5) =',Round(-0.5));
 WriteLn('Round(-1.5) =',Round(-1.5));
 WriteLn('Round(-2.5) =',Round(-2.5));
 WriteLn('Round(-3.5) =',Round(-3.5));

 WriteLn('◆四捨五入(銀行型丸め)戻り値は実数');
 WriteLn('RoundTo(3.5,0) =',FloatToStr(RoundTo(3.5,0)));
 WriteLn('RoundTo(2.5,0) =',FloatToStr(RoundTo(2.5,0)));
 WriteLn('RoundTo(3.35,-1) =',FloatToStr(RoundTo(3.35,-1)));
 WriteLn('RoundTo(3.25,-1) =',FloatToStr(RoundTo(3.25,-1)));
 WriteLn('RoundTo(1.245,-2) =',FloatToStr(RoundTo(1.245,-2)));
 WriteLn('RoundTo(6276,0) =',FloatToStr(RoundTo(6276,2)));

end.
【コンパイル&実行】 [tips0032.bat]
dcc32 tips0032.pas 
tips0032.exe  > tips0032.txt
pause
【実行結果】 [tips0032.txt]
◆四捨五入(銀行型丸め)
Round(3.5) =4
Round(2.5) =2
Round(1.5) =2
Round(0.5) =0
Round(0.0) =0
Round(-0.5) =0
Round(-1.5) =-2
Round(-2.5) =-2
Round(-3.5) =-4
◆四捨五入(銀行型丸め)戻り値は実数
RoundTo(3.5,0) =4
RoundTo(2.5,0) =2
RoundTo(3.35,-1) =3.4
RoundTo(3.25,-1) =3.2
RoundTo(1.245,-2) =1.24
RoundTo(6276,0) =6300