Fix(number) 和Int(number) 都是傳回數字的整數部分,Round(number, numdecimalplaces),第二個參數表示從小數點右邊第幾位開始實行四捨五入,可以省略,預設是0,即四捨五入回傳整數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)相同