大家都知道在BASIC語言中,系統(tǒng)為我們提供了許多標(biāo)準(zhǔn)函數(shù),而“取整函數(shù)”就是其中一個非常重要的函數(shù)。 一、 “取整函數(shù)”的格式和功能。 1、格式:INT(X) 2、功能:取不大于X的最大整數(shù) 3、說明:其中INT為函數(shù)名,不允許改變,X為自變量,其形式多種多樣,可以是數(shù)值常量、數(shù)值變量、數(shù)值表達式。 例如:INT(3.1416)=3 INT(3.8752)=3 INT(-3.14)=-4 INT(-3.85)=-4 從上面的題目來看,我們可以看出,對于有小數(shù)部分的正數(shù),INT 取整這后把小數(shù)部分舍掉,但不進行四舍五入,對于有小數(shù)的負數(shù)來說,INT取整后并不是直接舍掉小數(shù),而是取比其整部分小1的整數(shù)。當(dāng)然了,對于真正整數(shù)來說,INT之后其值不變。 二、“取整函數(shù)”的應(yīng)用 1、對數(shù)值進行四舍五入運算 (1)對X值保留整數(shù)部分,小數(shù)部分四舍五入。 表達式為: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取整函數(shù)達到四舍五入的功能,關(guān)鍵大在于這個0.5,咱們從數(shù)軸來看,對一個數(shù)加上0.5,相當(dāng)于對其值向右移動0.5,根據(jù)小數(shù)點后第一位是小于5還是大于等于5,決定了此數(shù)在向右移動過程中是否經(jīng)過了一個整數(shù),因為INT函數(shù)取值為其左側(cè)的最大整數(shù),若經(jīng)過了一個整數(shù),則結(jié)果就為這個整數(shù),否則就和原數(shù)直接INT取整結(jié)果相同。這樣就可能達到四舍五入的目的了。 (2)對X的值保留兩位小數(shù), 對第三位小數(shù)四舍五入 表達式: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的保留只相差在小數(shù)點位置不同,我們只要想辦法改變小數(shù)點的位置就可以了,所以我們采用的方法是先對X擴大100倍,然后再按第一種方法進行取舍小數(shù),最后再縮小100倍,這樣既可以不影響數(shù)的基本大小,又可以對其進行四舍五入。 小結(jié)1 對X值保留N位小數(shù),第N+1位小數(shù)四舍五入的一般表達式為: INT(x*10^N+0.5)/X*10^N 2、判數(shù)一個數(shù)M能否被數(shù)N整除 例如:判斷一個數(shù)的奇偶性,即是否能被2整除 M=25 M=24 M/2=12.5 M/2=12 INT(M/2)=12 INT(M/2) 通過上述表達式很容易得出結(jié)論:25為奇數(shù),25/2<>INT(25/2),24為偶數(shù),24/2=INT(24/2),INT函數(shù)可以達到舍掉小數(shù)部分的功能,對一個數(shù)M來說,只有當(dāng)M能被2整除的情況下,M/2才能等于INT(M/2),所以本題表達式可以寫成: 當(dāng)M/2 <>INT(M/2)時,M為奇數(shù) 當(dāng)M/2=INT(M/2)時,M為偶數(shù) 小結(jié)2 數(shù)M能被數(shù)N整除: M/N=INT(M/N) 數(shù)M不能數(shù)N整除: M/N<>INT(M/N) 三、 CINT(X)、FIX(X)的區(qū)別 三、CINT(X)對X小數(shù)部分四舍五入,然后取整。 FIX(X)截去小數(shù)部分取整 下表是三個函數(shù)取值的對比: 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 : 小結(jié)3 當(dāng)X>=0時,INT(X)的值與其相同, 當(dāng)X<0時INT(X)的值總小1; CINT(X)是對X的小數(shù)部分四舍五入取整,其功能與INT(X+0.5)相同 |
|