在線咨詢

  創建網站不知從何開始?

  撥打銷售熱線,直接對話專家

  13179796791

  如有疑問:

 

填寫信息,讓專家聯系您
聯系人*
性別*
企業名稱*
聯系電話*
驗證碼*
 看不清?換一張

3 . 3Visual FoxPro的函數

發表時間:2020-03-05 10:51

3.3Visual FoxPro的函數Visual FoxPro的函數

一、認識

·可以通過VFP提供的函數對數據進行運算。

·通過函數對數據進行運算時,參加運算的叫自變量或參數,運算結果就是函數值。

·函數的一般使用格式:函數名(自變量,自變量,……)

注意:VFP中,當一個函數不需要自變量時,圓括號也要寫上,如DATE()等。

二、常用數值函數

1、ABS函數

功能:求一個數的絕對值。

例1:ABS(67)

例2:ABS(-67+89)

例3:ABS(-82)

思考:如何驗證函數值?

2、SIGN函數

功能:當自變量值正時,返回1;當自變量值負時,返回-1;當自變量值為0時,返回0。

例:SIGN(56-73)

思考:試用SIGN函數寫出為變量B賦值的賦值命令,要求:當變量A的值為正時,B賦以值8+20;當變量A的值為負時,B賦以值8-20;當變量A的值為0時,B賦以值8。

3、SQRT函數

功能:求正數的平方根。

例:SQRT(2)

說明:默認計算結果為2位小數。SET DECIMALS TO命令可設置運算結果的小數位數。

4、PI函數

功能:函數值為圓周率的值。

例:PI()

5、INT函數

功能:返回自變量的整數部分。

例1:INT(1.3)

例2:INT(1.6)

例3:INT(-1.3)

例4:INT(-1.6)

6、CEILING函數

功能:返回大于或等于自變量的最小整數。俗稱天花板函數。

例1:CEILING(1.3)

例2:CEILING(2)

例3:CEILING(-1.3)

例4:CEILING(-2)

7、FLOOR函數

功能:返回小于或等于自變量的**整數。俗稱地板函數。

例1:FLOOR(1.3)

例2:FLOOR(2)

例3:FLOOR(-1.3)

例4:FLOOR(-2)

8、ROUND函數

功能:對自變量的值進行四舍五入運算。運算時,第二個自變量表示精確到哪一位。

例1:ROUND(345.345,2)

例2:ROUND(345.345,1)

例3:ROUND(345.345,0)

例4:ROUND(345.345,-1)

9、MOD函數

功能:求兩個整數相除以后的余數。

例1:MOD(10,3)

例2:MOD(9,3)

例3:MOD(11,3)

說明:有負數的求余不考慮。

10、MAX函數

功能:從多個自變量中挑出**的值。

例:MAX(1,2,7,4,5)

說明:自變量也可以是非數值型的,但自變量的類型應一致。如:

MAX(“A”,”ABC”,”BC”)

11、MIN函數

功能:從多個自變量中挑出最小的值。

例:MIN(1,2,7,4,5)

說明:自變量也可以是非數值型的,但自變量的類型應一致。如:

MIN (“A”,”ABC”,”BC”)

三、常用字符處理函數

1、LEN函數

功能:求字符串的長度。

說明:一個漢字長度為2,一個英文字符(包括空格)長度為1。

例:LEN("VisualFoxPro教程")

2、LOWER函數

功能:將自變量中的所有字母轉化為小寫字母。

例:LOWER("VisualFoxPro教程")

3、UPPER函數

功能:將自變量中的所有字母轉化為大寫字母。

例:UPPER("VisualFoxPro教程")

4、TRIM或RTRIM函數

功能:將字符型自變量右邊空格去掉。

例:TRIM("    Visual   FoxPro     ")

5、LTRIM函數

功能:將字符型自變量左邊空格去掉。

例:LTRIM("    Visual   FoxPro     ")

6、ALLTRIM函數

功能:將字符型自變量左、右兩邊的空格均去掉。

例:ALLTRIM("    Visual   FoxPro     ")

7、LEFT函數

功能:從一個字符串左邊開始取子串。

例1:LEFT("下午好!",2)

例2:LEFT("下午好!",4)

8、RIGHT函數

功能:從一個字符串右邊取子串。

例1:RIGHT("下午好!",2)

例2:RIGHT("下午好!",4)

9、SUBSTR函數

功能:從一個字符串中取子串。

例1:SUBSTR("下午好!",3,4)

例2:SUBSTR("下午好!",3)

10、SPACE函數

功能:產生指定個數空格組成的字符串。

例:SPACE(10)

11、REPLICATE函數

功能:由指定字符串重復組合產生字符串。

例1:REPLICATE(‘*’,10)

例2:REPLICATE(‘ABCD’,5)

12、AT函數

功能:求**個字符串在第二個字符串中出現的位置。

例1:AT("ab","huABygabhgtabagf")

例2:AT("ab"," huABygabhgtabagf ",2)

13、ATC函數

功能:求**個字符串在第二個字符串中出現的位置,但不區分字母大小寫。

例1:ATC("ab"," huABygabhgtabagf ")

例2:ATC("ab"," huABygabhgtabagf ",2)

14、OCCURS函數

功能:求**個字符串在第二個字符串中出現的次數。

例1:OCCURS("a","abScaBdA")

例2:OCCURS("ab","abScaBdA")

例3:OCCURS("abc","abScaBdA")

15、STUFF函數

功能:字符串內容替換。

例:STUFF("gtyabku",3,4,"AA")

思考:

·在"ab"的a、b之間插入"和"。

·“淮北煤炭師范學院”已改名為“淮北師范大學”了,淮北師范大學的你,能通過STUFF函數,將“淮北煤炭師范學院”中的“煤炭”二字刪除、“學院”二字改為“大學”,使得結果是“淮北師范大學”嗎?

16、CHRTRAN函數

功能:字符串內容替換。

例1:CHRTRAN("aBCAAC","AC",”12”)

例2:CHRTRAN("aBCAAC","AC",”1”)

例3:CHRTRAN("aBCAAC","AC",”123”)

說明:該函數對漢字進行替換時,會出現異常。

例4:CHRTRAN("大家好!","大家","你")

例5:CHRTRAN("淮北煤炭師范學院","學院煤炭","大學")

17、LIKE函數

功能:如果兩個字符串一樣,則函數值為真值,否則是假值。

例1:LIKE("abc","ABC")

例2:LIKE("abc","ab")

例3:LIKE("abc","abc")

說明:前一個字符串中可以出現通配符?和*。?表示該位置可以是任意的某個符號,*表示該位置可以是任意多的符號。

例4:LIKE("ab*","ab")

例5:LIKE("ab","ab*")

四、常用日期、時間函數

1、DATE函數

功能:返回當前系統日期。

例:DATE()

2、TIME函數

功能:返回當前系統時間。

例:TIME()

說明:函數值為字符型。

3、DATETIME函數

功能:返回當前系統日期及時間。

例:DATETIME()

思考:函數值什么類型?

4、YEAR函數、MONTH函數、DAY函數

功能:分別返回日期或日期時間型自變量中的年份、月份和日子。

例:分別求出今天的年、月、日。

5、HOUR函數、MINUTE函數、SEC函數

功能:分別返回日期時間型自變量中的時、分、秒。

例:分別求出現在的時、分、秒。

五、常用轉換函數

1、STR函數

功能:將數值型自變量轉換為字符型。

例:STR(123.456)

說明:函數值默認10位,不帶小數部分??梢约由系?、第3個參數,用來分別表示總位數和小數位數。默認或指定位數比實際位數多時,函數值的左邊補以相應個數的空格,以保證總位數;默認或指定位數比實際位數少時,先減少小數位數,還不夠時,只好返回默認或指定位數個*。

練習:驗證以下函數值,看看和自己預想的是否一致。

STR(123.456,5)

STR(123.456,5,1)

STR(123.456,5,2)

STR(123.456,6,2)

STR(123.456,3,2)

STR(123.456,2)

2、VAL函數

功能:將字符型自變量轉換為數值型。

例1:VAL("1234.56")

例2:VAL("123a")

例3:VAL("上午好!")

3、DTOC函數

功能:將日期型或日期時間型自變量轉換為相應的日期字符串。

例:DTOC(DATE())

說明:轉換后的字符串組成和當前日期格式有關,若加上1參數,將轉化為YYYYMMDD這種固定格式的字符串,如:DTOC(DATE(),1)

4、TTOC函數

功能:將日期時間型自變量轉換為相應的字符串。

例:TTOC(DATETIME())

說明:轉換后的字符串組成和當前日期時間格式有關,若加上1參數,將轉化為YYYYMMDDHHMMSS這種固定格式的字符串,如:TTOC(DATETIME(),1)

5、CTOD函數

功能:將日期形式的字符串轉化為日期型。

說明:字符串的日期形式應和當前日期格式一致,否則將轉化為空日期。

例:CTOD ("2010/5/1")

6、CTOT函數

功能:將日期時間形式的字符串轉化為日期時間型。

說明:字符串的日期時間形式應和當前日期時間格式一致,否則將轉化為空日期時間。

例:CTOT ("2010/5/1 10:8:30")

7、ASC函數

功能:求字符型自變量中**個字符的ASCII碼。

例:ASC('A')

8、CHR函數

功能:根據ASCII碼求對應的字符。

例:CHR(65)

六、常用測試函數

1、EMPTY函數

功能:判斷一個數據是否空值,是為真,否則為假。

例:EMPTY(0),EMPTY ("0"),EMPTY(""),EMPTY ("   "),EMPTY ({})

2、VARTYPE函數

功能:判斷自變量的數據類型,返回相應的字母。

例:VARTYPE(23),VARTYPE('23')

3、BETWEEN函數

功能:判斷**個自變量的值是否在后兩個自變量之間,是,函數值為真值;不是,函數值為假值。

例:BETWEEN(3,1,6),BETWEEN(3,6,1),BETWEEN(3,3,6),BETWEEN(3,4,6),BETWEEN(“e”,”a”,”x”)

七、其它常用函數

1、條件函數

用法:IIF(邏輯型表達式,表達式1,表達式2)

功能:如果邏輯型表達式的值為真,則表達式1的值作為函數值,否則,表達式2的值作為函數值。

例:函數IIF(X>10,’AAA’,’BBB’)

思考:當變量X分別取值10、0、100時,函數IIF(X>10,’AAA’,IIF(X<10,’BBB’,’CCC’))的值。

2、宏替換函數

用法:&字符型變量.

功能:用字符型變量的值(不帶定界符)替換整個宏替換函數。

例:假設A=’76+28’,問A和&A.分別等價于什么?

說明:

1)該函數是一個十分有用又十分特殊的函數。

2)宏替換函數出現在字符串中時也還有效,而其它函數出現在字符串中時被當作一個個字符處理。如:

若A='ABC',則'X&A.Y'等價于'XABCY';而'XABS(-86)Y'卻不等價于'X86Y'。

3)宏替換函數最后的小數點是宏替換函數的結束標記。當宏替換函數和其后的內容能夠明確區分清楚時,該結束標記可以省略。

思考:下面的表達式中,哪些宏替換函數的結束標記可以省略?

&A.+52,&A.6-285,’&A.BCDEFG’。


文章分類: 教學資料
分享到:
website qrcode

掃描查看手機版網站

在線服務
 
 
 工作時間
周一至周日 :7:00-22:00
 聯系方式
技術支持:13179796791
郵箱:yzflwlkj@163.com