delphi 常用函數(數學)
Delphi中怎么將實數取整?
floor 和 ceil 是 math unit 里的函數,使用前要先 Uses Math。
trunc 和 round 是 system unit 里的函數,缺省就可以用。
floor 直接往小的取,比如 floor(-123.55)=-124,floor(123.55)=123
trunc 直接切下整數,比如 trunc(-123.55)=-123, floor(123.55)=123
ceil 直接往大的取,比如 ceil(-123.55)=-123, ceil(123.55)=124
round 計算四舍五入,比如 round(-123.55)=-124,round(123.55)=124
delphi中怎么將實數取余?
function Frac(X: Extended): Extended; 是取得小數部分的函數
abs(x) 絕對值
arctan(x) 反正切
cos(x) 傳回餘弦函數值
exp(x) e的x次冪
frac(x) 取小數部分
int(x) 取整
ln(x) 自然對數
sin(x) 傳回正弦函數值
sqr(x) x*x
sqrt(x) 平方根
其它
pred(x) pred('D')='C', pred(true)=1;
succ(x) succ('Y')='Z', succ(pred(x))=x
ord(x) 求x在字符集中的序號,如ord('A')=65
chr(x) chr(65)='A'
round(x) 四舍五入
trunc(x) trunc(4.8)=4,trunc('-3.6')=-3
upcase(x) upcase('a')='A'
hi(I) hi(2A30)=2A
lo(I) lo(2A30)=30
random(n) 產生[0,n)間的隨機整數
sizeof(name) 求出某類型或變量在內存中占用的字節數
swap(num) swap(3621)=2136
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