|
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’。
文章分類:
教學資料
|
掃描查看手機版網站