VB2013內建函數

VB2013內建函數:內建函數指的是事先設計好的各種函數,藉由這些函數可以幫助我們快速處理數字、文字、日期等資料…
  • 數值函數:用來計算數值
    Visual Basic 6 中的數學函式在 .NET Framework 中已由 System.Math 類別 (Class) 中的對等方法所取代。

  • 數字函數功能說明範例範例結果
    math.ABS(N)傳回N的絕對值math.ABS(-2)2
    CInt(N) 轉為整數型態(四捨六入五成雙)CInt(2.5)
    CInt(2.51)
    CInt(3.5)
    CInt(-2.5)
    CInt(-2.51)
    CInt(-3.5)
    2
    3
    4
    -2
    -3
    -4
    Int(N)傳回等於或小於N的最大整數Int(2.4)
    Int(-2.4)
    2
    -3
    Fix(N)傳回N的整數部份,小數直接捨去Fix(2.4)
    Fix(-2.4)
    2
    -2
    math.Round(N,P)將N取四捨五入到小數後第P位後傳回結果(四捨六入五成雙)math.Round(5/3,2)
    math.Round(1.665,2)
    1.67
    1.66
    Math.Ceiling(N)傳回大於或等於指定之十進位數字的最小整數值。(天花板值)math.Ceiling(7.03)
    math.Ceiling(-7.03)
     8
    -7
    Math.Floor(N)傳回小於或等於指定的十進位數字的最大整數。(地板值)
    效果等同 Int(N)
    math.Floor(7.03)
    math.Floor(-7.03)
     7
    -8
    Math.Truncate(N)計算指定的十進位數字的整數部分。效果等同 Fix(N)math.Truncate(7.03)
    math.Truncate(-7.03)
     7
    -7
    Rnd(N)傳回1個>=0且<1隨機亂數(即 0≦ Rnd <1Int(Rnd*10)+5傳回5~14中任一整數
    Randomize設定亂數種子,與Rnd配合使用Randomize
    Int(Rnd*10)+5
    Int(Rnd*2)
    Int(Rnd*6)+1
    Int(Rnd*13)+1
    Int(Rnd*101)

    傳回5~14中任一整數
    模擬丟銅板正反面0,1
    模擬丟骰子1~6點
    模擬樸克牌1~13點
    模擬成績0~100分
    math.Sqrt(N)傳回N的根號math.Sqrt(4)2
    math.Sign(N)判斷數字N的正負符號math.Sign(4)
    math.Sign(0)
    math.Sign(-4)
    1
    0
    -1
    math.Log(N)傳回然對數值math.Log(2)/math.Log(10)0.301029995663981
    math.Exp(N)然對數e的N次方math.Exp(1)2.71828182845905
    math.Pow(x, y)傳回 x^ymath.Pow(2,10)1024
    math.Max(a, b)傳回 a, b 之最大值math.Max(2, 3)3
    math.Min(a, b)傳回 a, b 之最小值math.Min(2, 3)2
    math.Pi傳回圓周率常數pimath.Pi3.1415926535897931
    math.E傳回然對數emath.E2.7182818284590451
    UBound(A,N)傳回陣列A中所指定維度N的最高可用註標。N省略,則表示第1維。dim data(10,3) as integer
    UBound(data)
    UBound(data,2)

    10
    3
    LBound(A,N)傳回陣列A中所指定維度N的最低可用註標。N省略,則表示第1維。dim data(10,3) as integer
    LBound(data)
    LBound(data,2)

    0
    0
    math.Sin(N)
    math.Cos(N)
    math.Tan(N)
    傳回N的正弦值…等,N的單位是弳度,不是角度
    範列中的PI=3.14159265358979
    math.Sin(PI/6)0.5
  • 字串函數:用來處理文字

    字串函數功能說明範例範例結果
    Chr(N)傳回系統內定字元碼為N的字元Chr(65)"A"
    Asc(S)傳回字串S第1個字元的系統內定字元碼Asc("A")
    Hex(Asc("王"))
    65
    FFFFA4FD            'Big-5
    ChrW(N)傳回Unicode碼為N的字元ChrW(65)"A"
    AscW(S)傳回字串S第1個字元的Unicode碼AscW("A")
    Hex(AscW("王"))
    65
    738B                     'Unicode
    Hex(N)轉為16進位字串Hex(16)"10"
    Oct(N)轉為8進位字串Oct(16)"20"
    Val(S)將S字串轉成數值Val("123")
    Val("52A")
    Val("xxx")
    123
    52
    0
    Str(N)將數字N轉換成字串型態
    注意:正數前會有一個空白
    Str(23)
    Str(-43)
    "23"           △表示空白字元
    "-43"
    Len(S)取得字串S的長度(字元數)Len("ABCDE")5
    Left(S,N)取得字串S左邊的N的字元Left("ABCDE",2)"AB"
    Right(S,N)取得字串S右邊的N的字元Right("ABCDE",2)"DE"
    Mid(S,M,N)從字串S第M個字元開始取得N個字元Mid("ABCDE",2,3)"BCD"
    UCase(S)將字串S的所有英文小寫字母轉成大寫字母UCase("AbcDe")"ABCDE"
    LCase(S)將字串S的所有英文大寫字母轉成小寫字母LCase("AbcDe")"abcde"
    Trim(S)
    LTrim(S)
    RTrim(S)
    去除字串S兩側的空白字元(左側、右側)Trim("AB")
    LTrim("AB")
    RTrim("AB")
    "AB"
    "AB"
    "AB"
    StrDup(N,S)傳回N個S字元,S可以是字元,也可以是ASCII碼StrDup(4,"A")"AAAA"
    StrReverse(S)將字串反過來StrReverse("ABCDE")"EDCBA"
    Rset(S, n)傳回靠右對齊的字串,其中包含調整為指定之長度的指定字串。Rset(2.3, 5)"2.3"
    Lset(S, n)傳回靠左對齊的字串,其中包含調整為指定之長度的指定字串。Lset(2.3, 5)"2.3"
    InStr(S,F)從字串S中尋找F字串,若找到則傳回S字串中F出現的位置,若找不到則傳回0InStr("ABCDABCD","D")
    InStr("ABCDEF","CC")
    4
    0
    InStr(m,S,F)與上例相同,但指定從字串S的第m個字元開始尋找,而不是從頭找InStr(6,"ABCDABCD","D")
    InStr(6,"ABCDABCD","Ab")
    8
    0
    InStrRev(S,F,m)傳回某個字串F在另一個字串s中第一次出現的位置,從字串的右邊第m個字元開始尋找開始。 m省略則從頭找。InStrRev("ABCDABCD","D")
    InStrRev("ABCDABCD","D",7)
    8
    4
    Replace(S,F,R)從字串S中尋找字串F,並以字串R取代。Replace("ABCDE","BCD","xxx")"AxxxE"
    Join(X,a)合併陣列為 以a符號 分隔的字串 。x(0) = "Hello"
    x(1) = "World"
    Y= join(x,"-")
    Y = "Hello-World"
    Split(X,a)以a為分隔符號,將X字串打散成陣列 。X = "Hello-World"
    Y = split(X,"-")
    Y(0)="Hello"
    Y(1) = "World"
    Format(S,F)將字串S依據指定的格式F重新產生字串
    左側例子中
    Time是時間函數,傳回目前的時間
    Date是日期函數,傳回目前的日期
    D=#1/27/2001 5:04:23 PM#
    詳細說明
    Format(Now(), "Long Time")
    Format(Now(), "Long Date")
    Format(Now(), "D")
    Format(D, "h:m:s")
    Format(D, "hh:mm:ss tt")
    Format(D, "dddd, mmmm d yyyy")
    Format(D, "HH:mm:ss")
    Format(5365.6, "##,##0.00")
    Format(534.9, "###0.00")
    Format(2.5, "0.00%")
    下午 03:09:46
    2016年11月26日
    2016年11月26日
    5:4:23
    05:04:23 PM
    Saturday, Jan 27 2001
    17:04:23
    5,365.60
    534.90
    250.00%
  • 日期時間函數:用來處理日期與時間。
    日期時間函數功能說明範例範例結果
    Now傳回目前的日期及時間,不用加任何參數
    (Now 等於 Date 加上 Time ?)
    Now2007/10/12 上午 09:24:44
    Date傳回目前的日期,不用加任何參數Date2007/10/12
    Time傳回目前的時間,不用加任何參數Now上午 09:24:44
    Year(D)依指定的時間參數(D),傳回年Year(Now)2007
    Month(D)依指定的時間參數(D),傳回月份Day(Now)10
    MonthName(M)依指定的月份數字參數(M),傳回月份的名稱MonthName(1)一月
    Day(D)依指定的時間參數(D),傳回1~31的日期Day(Now)12
    Hour(T)依指定的時間參數(Time),傳回小時Hour(Now)9
    Minute(T)依指定的時間參數(Time),傳回分鐘Month(Now)24
    Second(T)依指定的時間參數(Date),傳回秒數Second(Now)44
    Weekday(D)傳回包含表示週中星期幾的 Integer 值。
    星期日 - 1  ~  星期六 - 7
    Weekday(Date)
    WeekdayName(N)傳回包含指定星期名稱的 String 值WeekdayName(1)
    WeekdayName(7)
    星期日
    星期六
  • Array 類別常用的屬性與方法:
    Array 類別常用的屬性功能說明範例範例結果
    Length取得代表 Array 所有維度的元素總數。myArr.Length
    Rank取得 Array 之以零為起始的陣列維度。myArr.Rank

    Array 類別常用的方法功能說明範例範例結果
    GetLength() 方法取得陣列指定維度之元素數目r1=myArr.GetLength(0)r1為 myArr 第一個維度元素的個數
    GetUpperBound 方法取得陣列某一維度的最大註標(上限)
    也可以使用 Ubound() 函數
    u1=myArr.GetUpperBound(0)
    u1=Ubound(myArr,1)
    u1為 myArr 第一個維度最大註標
    GetLowerBound 方法取得陣列某一維度的最小註標(下限)
    也可以使用 Lbound() 函數
    u1=myArr.GetLowerBound (0)
    u1=Lbound(myArr,1)
    u1為 myArr 第一個維度最小註標
    Array.Sort()1.由小到大排序整個一維 Array 中的元素。 這個方法使用 QuickSort 快速排序演算法。
    2. 根據第一個 Array 中的索引鍵,排序一對一維的 Array 物件 (一個物件包含索引鍵,另一個物件包含對應的項目)。
    Array.Sort(myArr)
    Array.Sort(myKeys, myValues)
    Array.Reverse()反轉整個一維 Array 中的元素順序。Array.Sort(myArr)
    Array.Reverse(myArr)
    myArr內容由大到小排序
    Array.IndexOf()循序搜尋指定的物件,並傳回一維 Array 內從指定的索引延伸至最後一個元素的元素範 圍中,第一個相符項目的索引。當找不到 value 時,通常會傳回 -1。Aarry資料可以不必先排序。語法:
    Array.IndexOf(陣列名, 查詢資料 [, 起始註標] [, 查詢距離]))
    Array.IndexOf(myArr, myString, 6, 5)
    Array.BinarySearch()在整個一維已排序的 Array 中使用二元搜尋法搜尋特定的元素。如果找到 資料,則傳回為指定 array 中的註標myIndex ;如果沒有找到則傳回負值。語法:
    Array.BinarySearch(陣列名, 查詢資料)
    Array.Sort(myArr)
    myIndex =Array.BinarySearch(myArr, myObject)
    先排序
    再用二元搜尋
    Array.Copy()陣列的複製請查詢 Array
    Array.Clear()清除陣列元素的值。這個方法只清除元素的值;不會刪除元素本身。請查詢 Array
    Array.Resize()變更陣列大小。以指定之大小配置新的陣列、從舊的陣列中將元素複製到新陣列中,然後以新的陣列取代舊的陣列。想做動態宣告時很有用。Array.Resize(myArr, myArr.Length + 5)將myArr加大5個元素
  • ArrayList 類別常用的屬性與方法: 增加移除陣列元素很方便
    Array 類別常用的屬性功能說明範例範例結果
    宣告Dim myAL As New ArrayList()
    Capacity取得或設定 ArrayList 能夠包含的元素數myArr.Capacity
    Count取得在 ArrayList 中實際包含的元素數。myArr.Count
  • ArrayList 類別常用的方法功能說明範例範例結果
    Add 方法將物件加入 ArrayList 的末端。myAL.Add("The")
    myAL.Add("quick")
    Clear 方法將所有元素從 ArrayList 移除。myAL.Clear
    Remove 方法從 ArrayList 移除特定物件之第一個符合的元素。myAL.Remove("The")
    RemoveAt 方法移除 ArrayList 的指定索引處的元素。myAL.RemoveAt(5)
    Insert 方法將元素插入 ArrayList 中的指定索引處。ArmyAL.Insert(3, "over")
    myAL.Insert(myAL.IndexOf("dog"), "lazy")



沒有留言 :

張貼留言