Fix(number) 和 Int(number) 都是返回數字的整數部分。
number 為正數時,二者返回值一樣。比如:Fix(3.6)=3,Int(3.6)=3。
number 為負數時,Fix 直接去除小數部分,Int 返回小於或等於 number 的第一個負整數。比如:Fix(-3.6)=-3,Int(-3.6)=-4。
Round(number, numdecimalplaces),第二個參數表示從小數點右邊第幾位開始實行四捨五入,可以省略,默認是0,即四捨五入返回整數。CInt(number) 利用四捨五入的方式刪除小數部分。
如果 Round 的第二個參數省略,那麼 Round 和 CInt 功能是一樣的。 number 為正數時,Round(3.6)=4,CInt(3.6)=4。注意,當小數部分恰好是0.5時,總是將其四捨五入為最接近的偶數。比如Round(3.5)=4,Round(4.5)=4。
number 為負數時,可以這樣理解(假設 n 為正數):
Round(-n) = -Round(n),比如:Round(-3.5) = -4。
CInt(-n) = -CInt(n),比如:CInt(-99.8) = -100。
asp中的幾個取整函數是:fix(),int(),round();
Int(number)、Fix(number)函數返回數字的整數部分。number 參數可以是任意有效的數值表達式。如果 number 參數包含 Null,則返回 Null。
例:
復制代碼 代碼如下:
response.write int(2.14) '2
response.write fix(2.14) '2
response.write int(2.54) '2
response.write int(2.54) '2
Int 和 Fix 函數都刪除 number 參數的小數部分並返回以整數表示的結果。Int 和 Fix 函數的區別在於如果 number 參數為負數時,Int 函數返回小於或等於 number 的第一個負整數,而 Fix 函數返回大於或等於 number 參數的第一個負整數。例如,Int 將 -8.4 轉換為 -9,而 Fix 函數將 -8.4 轉換為 -8。
round(Expression[, numdecimalplaces])返回按指定位數進行四捨五入的數值。Expression是必選項。數值表達式 被四捨五入。Numdecimalplaces是可選項。數字表明小數點右邊有多少位進行四捨五入。如果省略,則 Round 函數返回整數。
例:
復制代碼 代碼如下:
response.write round(3.14) '3
response.write round(3.55) '4
response.write round(3.1415,3) ' 3.142
ASP取整函數
取 整 函 數
大家都知道在BASIC語言中,系統為我們提供了許多標准函數,而“取整函數”就是其中一個非常重要的函數。
一、 “取整函數”的格式和功能。
1、格式:INT(X)
2、功能:取不大於X的最大整數
3、說明:其中INT為函數名,不允許改變,X為自變量,其形式多種多樣,可以是數值常量、數值變量、數值表達式。
例如:INT(3.1416)=3
INT(3.8752)=3
INT(-3.14)=-4
INT(-3.85)=-4
從上面的題目來看,我們可以看出,對於有小數部分的正數,INT
取整這後把小數部分捨掉,但不進行四捨五入,對於有小數的負數來說,INT取整後並不是直接捨掉小數,而是取比其整部分小1的整數。當然了,對於真正整數來說,INT之後其值不變。
二、“取整函數”的應用
1、對數值進行四捨五入運算
(1)對X值保留整數部分,小數部分四捨五入。
表達式為:INT(X*100+0.5)
例如:
INT(3.1416+0.5)=INT(3.6416)=3
INT(3.8572+0.5)=INT(4.3572)=4
INT(-3.14+0.5)=INT(-2.64)=-3
INT(-3.85+0.5)=INT(-3.35)=-4
通過分析上面的例子我們可能看出,用INT取整函數達到四捨五入的功能,關鍵大在於這個0.5,咱們從數軸來看,對一個數加上0.5,相當於對其值向右移動0.5,根據小數點後第一位是小於5還是大於等於5,決定了此數在向右移動過程中是否經過了一個整數,因為INT函數取值為其左側的最大整數,若經過了一個整數,則結果就為這個整數,否則就和原數直接INT取整結果相同。這樣就可能達到四捨五入的目的了。
(2)對X的值保留兩位小數, 對第三位小數四捨五入
表達式:INT(X*100+0.5)/100
例如:
INT(3.1416*100+0.5)/100
=INT(314.16+0.5)/100
=INT(314.66)/100
=314*100
=3.14
INT(3.8572*100+0.5)/100
=INT(385.72+0.5)/100
=INT(386.22)/100
=386/100
=3.86
這種四捨五入保留與上面1的保留只相差在小數點位置不同,我們只要想辦法改變小數點的位置就可以了,所以我們采用的方法是先對X擴大100倍,然後再按第一種方法進行取捨小數,最後再縮小100倍,這樣既可以不影響數的基本大小,又可以對其進行四捨五入。
小結1
對X值保留N位小數,第N+1位小數四捨五入的一般表達式為:
INT(x*10^N+0.5)/X*10^N
2、判數一個數M能否被數N整除
例如:判斷一個數的奇偶性,即是否能被2整除
M=25 M=24
M/2=12.5 M/2=12
INT(M/2)=12 INT(M/2)
通過上述表達式很容易得出結論:25為奇數,25/2<>INT(25/2),24為偶數,24/2=INT(24/2),INT函數可以達到捨掉小數部分的功能,對一個數M來說,只有當M能被2整除的情況下,M/2才能等於INT(M/2),所以本題表達式可以寫成:
當M/2 <>INT(M/2)時,M為奇數
當M/2=INT(M/2)時,M為偶數
小結2
數M能被數N整除: M/N=INT(M/N)
數M不能數N整除: M/N<>INT(M/N)
三、 CINT(X)、FIX(X)的區別
三、CINT(X)對X小數部分四捨五入,然後取整。
FIX(X)截去小數部分取整
下表是三個函數取值的對比:
X INT(X) CINT(X) FIX(X)
3.26 3 3 3
3.76 3 4 3
-3.26 -4 -3 -3
-3.76 -4 -4 -3 :
小結3
當X>=0時,INT(X)的值與其相同,
當X<0時INT(X)的值總小1;
CINT(X)是對X的小數部分四捨五入取整,其功能與INT(X+0.5)相同