2011年1月11日

【函數】數值函數

函數
功能
範例
結果
Abs(X)
求X的絕對值
Abs(-20)
20
Sqr(X)
X的平方根
Sqr(4)
2
Rnd(X)
產生小於1,大於等於0的亂數
Int(Rnd*(max-min+1)+min)
Int(X)
X<0,取小於等於X的負整數
Int(5.6)
Int(-5.4)
5
-6
Fix(X)
X的整數部分。Fix(5.6) = 5Fix(-5.4) = -5
CInt(X)

()整數
小數以四捨六入取整數值
小數=5,整數為偶數小數捨去
        奇數整數+1
CInt(-3.6)
A%=5.5 Print A%
B%=6.5 Print B%
B%=6.51Print B%
C%= -3.5 Print C%
-4
6
6
7
-4
Round(X, n)
X數值轉換成小數位數n位的格式
未設表示整數。
進位部份同 CInt(逢5奇進偶吐)
Round(4.144, 2)
Round(4.145, 2)
Round(4.155, 2)
4.14
4.14
4.16
Val(X$)
X$轉為數值,碰到非數值字元則忽略其後字元(不包括空格、正負號)
Val(“52”) + Val(“47A3”)
Val(“52” + “47A3”)
Val("-1 2 3") 
99
5247
-123 
SGN(X)
X為正 1,X為負 -1X為零


【註】以下三種情況,一樣使用CInt(逢5奇進偶吐)
  1.  :例如 5.45 \ 2 = 2 , 5.5 \ 2 = 3。
  2. Mod :例如 32.5 Mod 2 = 0 , 33.5 Mod 2 = 0。
  3. 宣告為整數型態的變數
    Dim A as Integer
    A = 28.5
    Print A
    A 的值為28。 ← CInt(逢5奇進偶吐)

    不過下面的例子有點不同,請同學留意:
    Dim A as Integer
    A = Sqr(8)   ← 求 8 的平方根
    Print A
    A 的值為3。 ← 原因是 Sqr(8) = 2.82842712474619…,為無理數。