delphi的取整函数round、trunc、ceil和floor

delphi的取整函数round、trunc、ceil和floor 
  
1. Round(四舍六入五留双)
  
功能说明:对一个实数进行四舍五入。(按照银行家算法) 
例:
var
     i,j: Integer ;
begin
     i := Round( 1.5 ); // i等于2
     j := Round( 2.5 ); // j等于2
end ;
  
在Delphi中使用Round函数得到的答案有时与我们所预期的会不太一样:采用的是四舍六入五留双。即当舍或入位大于或小于五时按四舍五入来处理
  
,而当舍或入位等于五时,就要看前面一位是什么,根据奇进偶不进,它总是返回一个偶数值。
例:            
i:= Round( 11.5 ) //i等于12
i:= Round( 10.5 ) //i等于10
  
这种Round其实是按照银行家算法,统计学上一般都用这种算法,比传统的"四舍五入"要科学。
如果要使用传统的"四舍五入"方法,可以使用下面函数:
function RoundClassic(R: Real )
  
2. trunc(取得X的整数部分)
如:trunc(- 123.55 )=- 123 ,floor( 123.55 )= 123
  
3. ceil(取得大于等于X的最小的整数)
  
如:ceil(- 123.55 )=- 123 , ceil( 123.15 )= 124
  
4. floor(取得小于等于X的最大的整数)
  
如:floor(- 123.55 )=- 124 ,floor( 123.55 )= 123
  
注:floor和ceil是math unit 里的函数,使用前要先 Uses Math

相关文章

 从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都...
  从网上看到《Delphi API HOOK完全说明》这篇文章,基本上...
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c+&#x...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和ED...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的...