[実数を整数化する]
実数を整数に変換するにはint,Trunc,Floor,Ceil関数を使用します
・intとTruncは小数点以下を切り捨てます。異なるのは、戻り値がintは実数、Truncは整数になることです。
・Floorはその実数を超えない最大の整数を求めます。
・Ceilはその実数より小さくない最小の整数を求めます。
実数を整数に変換して表示します。
【ソースコード】 [tips0031.pas]
<program tips0031;
{$APPTYPE CONSOLE}
uses SysUtils,Math;
begin
WriteLn('◆小数点以下を切り捨て。戻り値は実数');
WriteLn('int(1.5) =',FloatToStr(int(1.5)));
WriteLn('int(0.1) =',FloatToStr(int(0.1)));
WriteLn('int(0.0) =',FloatToStr(int(0.0)));
WriteLn('int(-0.1) =',FloatToStr(int(-0.1)));
WriteLn('int(-1.5) =',FloatToStr(int(-1.5)));
WriteLn('◆小数点以下を切り捨て。戻り値は整数');
WriteLn('Trunc(1.5) =',Trunc(1.5));
WriteLn('Trunc(0.1) =',Trunc(0.1));
WriteLn('Trunc(0.0) =',Trunc(0.0));
WriteLn('Trunc(-0.1) =',Trunc(-0.1));
WriteLn('Trunc(-1.5) =',Trunc(-1.5));
WriteLn('◆その実数を超えない最大の整数');
WriteLn('Floor(1.5) =',Floor(1.5));
WriteLn('Floor(0.1) =',Floor(0.1));
WriteLn('Floor(0.0) =',Floor(0.0));
WriteLn('Floor(-0.1) =',Floor(-0.1));
WriteLn('Floor(-1.5) =',Floor(-1.5));
WriteLn('◆その実数より小さくない最小の整数');
WriteLn('Ceil(1.5) =',Ceil(1.5));
WriteLn('Ceil(0.1) =',Ceil(0.1));
WriteLn('Ceil(0.0) =',Ceil(0.0));
WriteLn('Ceil(-0.1) =',Ceil(-0.1));
WriteLn('Ceil(-1.5) =',Ceil(-1.5));
end.
【コンパイル&実行】 [tips0031.bat]
dcc32 tips0031.pas
tips0031.exe > tips0031.txt
pause
【実行結果】 [tips0031.txt]
◆小数点以下を切り捨て。戻り値は実数
int(1.5) =1
int(0.1) =0
int(0.0) =0
int(-0.1) =0
int(-1.5) =-1
◆小数点以下を切り捨て。戻り値は整数
Trunc(1.5) =1
Trunc(0.1) =0
Trunc(0.0) =0
Trunc(-0.1) =0
Trunc(-1.5) =-1
◆その実数を超えない最大の整数
Floor(1.5) =1
Floor(0.1) =0
Floor(0.0) =0
Floor(-0.1) =-1
Floor(-1.5) =-2
◆その実数より小さくない最小の整数
Ceil(1.5) =2
Ceil(0.1) =1
Ceil(0.0) =0
Ceil(-0.1) =0
Ceil(-1.5) =-1
Copyright c 2009, ohishi,All rights reserved.