常用函數(shù)與表達(dá)式的使用_第1頁(yè)
常用函數(shù)與表達(dá)式的使用_第2頁(yè)
常用函數(shù)與表達(dá)式的使用_第3頁(yè)
常用函數(shù)與表達(dá)式的使用_第4頁(yè)
常用函數(shù)與表達(dá)式的使用_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上實(shí) 驗(yàn) 二 常用函數(shù)與表達(dá)式的使用一、實(shí)驗(yàn)?zāi)康模?、了解數(shù)值、日期等重要函數(shù)的格式和使用方法;2、表達(dá)式的使用二、實(shí)驗(yàn)要示:1、學(xué)會(huì)各種函數(shù)格式要求;2、函數(shù)的運(yùn)算;3、表達(dá)式的書(shū)寫(xiě)與應(yīng)用。二、實(shí)驗(yàn)內(nèi)容與步驟:函數(shù)是用程序來(lái)實(shí)現(xiàn)的一種數(shù)據(jù)運(yùn)算或轉(zhuǎn)換。每一個(gè)函數(shù)都有特定的數(shù)據(jù)運(yùn)算或轉(zhuǎn)換功能,它往往需要若干個(gè)自變量,即運(yùn)算對(duì)象,但只能有一個(gè)運(yùn)算結(jié)果,稱(chēng)為函數(shù)值或返回值。函數(shù)可以用函數(shù)名加一對(duì)圓括號(hào)調(diào)用,自變量放在圓括里,如LEN(X);函數(shù)調(diào)用可以出現(xiàn)在表達(dá)式里,表達(dá)式將函數(shù)的返回值作為自己運(yùn)算的對(duì)象。函數(shù)調(diào)用也可以作為一條命令使用,但此時(shí)系統(tǒng)忽略函數(shù)的返回值。1.數(shù)值函

2、數(shù)數(shù)值函數(shù)是指函數(shù)值為數(shù)值的一類(lèi)函數(shù),它們的自變量和返回值往往都是數(shù)值型數(shù)據(jù)。(1)絕對(duì)值和符號(hào)函數(shù)格式:ABS(<數(shù)值表達(dá)式>)SIGN(<數(shù)值表達(dá)式>)功能:ABS()返回指定的數(shù)值表達(dá)式的絕對(duì)值.SIGN()返回指定數(shù)值表達(dá)式的符號(hào).當(dāng)表達(dá)式的運(yùn)算結(jié)果為正、負(fù)、零時(shí),函數(shù)值分別為1,-1和0。例:STORE 10 TO X?ABS(5-X),ABS(X-5),SIGN(5-X),SIGN(X-10)5 5 -1 0(2)求平方根函數(shù)格式:SQRT(<數(shù)值表達(dá)式>)功能: 返回指定數(shù)值表達(dá)式的平方根。自變量表達(dá)式的值不能為負(fù)。例:?SQRT(2*SQRT

3、(2)1 68STORE 100 TO X?SIGN(X)*SQRT(ABS(X) -10(3)求整數(shù)函數(shù)格式:INT(<數(shù)值表達(dá)式>)功能:返回指定數(shù)值表達(dá)式的整數(shù)部分。例:STORE 5.8 TO X?INT(X),INT(-X)5 -5(4)四舍五入函數(shù)格式:ROUND(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>)功能:返回指定表達(dá)式在指定位置四舍五入后的結(jié)果. <數(shù)值表達(dá)式2>指明四舍五入的位置.若<數(shù)值表達(dá)式2>大于等于0,那么它表示的是要保留的小數(shù)位數(shù). 若<數(shù)值表達(dá)式2>小于0,那么它表示的是整數(shù)部分的舍入位數(shù).例:

4、X=345.345?ROUND(X,2),ROUND(X,1),ROUND(X,0),ROUND(X,-1) 345.34 345.3 345 350(5)求余函數(shù)格式:MOD(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>)功能:返回兩個(gè)數(shù)值相除后的余數(shù). <數(shù)值表達(dá)式1>是被除數(shù),<數(shù)值表達(dá)式2>是除數(shù).余數(shù)的正負(fù)號(hào)與除數(shù)相同.如果被除數(shù)與除數(shù)同號(hào),那么函數(shù)值即兩個(gè)數(shù)相除的余數(shù);如果異號(hào),則函數(shù)值為兩數(shù)相除的余數(shù)再加上除數(shù)的值.例:?MOD(10,3),MOD(10,-3),MOD(-10,3),MOD(-10,-3)1 -2 2 -12.字符函數(shù)(1)

5、求字符串長(zhǎng)度函數(shù)格式:LEN(<字符表達(dá)式>)功能:返回指定字符表達(dá)式值的長(zhǎng)度,即所包含的字符個(gè)數(shù).函數(shù)值為數(shù)值型.例: X=”中文VISUAL FOXPRO6.0”?LEN(X)20(2)大小寫(xiě)轉(zhuǎn)換函數(shù)格式:LOWER(<字符表達(dá)式>)UPPER(<字符表達(dá)式>)功能:LOWER()將指定表達(dá)式中的大寫(xiě)字轉(zhuǎn)換成小寫(xiě)字母,其他字符不變.UPPER()將指定表達(dá)式中的小寫(xiě)字轉(zhuǎn)換成大寫(xiě)字母,其他字符不變.例:?LOWER(X1y2A*),upper(n=1)x1y2a* N=1(3)空格字符串生成函數(shù)格式:SPACE(<數(shù)值表達(dá)式>)功能: 返回由指

6、定數(shù)目的空格組成的字符串(4)刪除前后空格函數(shù)格式:TRIM(<字符表達(dá)式>)LTRIM(<字符表達(dá)式>)ALLTRIM(<字符表達(dá)式>) 功能:TRIM()返回指定字符表達(dá)式值去掉尾部空格后形成的字符串LTRIM()返回指定字符表達(dá)式值去掉前導(dǎo)空格后形成的字符串ALLTRIM()返回指定字符表達(dá)式值去掉前導(dǎo)和尾部空格后形成的字符串例:STORE SPACE(1)+”TEST”+SPACE(3) TO SS?TRIM(SS)+LTRIM(SS)+ALLTRIM(SS)TESTTEST TEST?LEN(SS),LEN(TRIM(SS),LEN(LTRIM(S

7、S),LEN(ALLTRIM(SS) 8 5 7 4(5)取子串函數(shù)格式:LEFT(<字符表達(dá)式>,長(zhǎng)度)RIGHT(<字符表達(dá)式>,長(zhǎng)度)SUBSTR(<字符表達(dá)式>,<起始位置>,長(zhǎng)度)功能:LEFT()從指定表達(dá)式值的左端取一個(gè)指定長(zhǎng)度的子串作為函數(shù)值.RIGHT()從指定表達(dá)式值的右端取一個(gè)指定長(zhǎng)度的子串作為函數(shù)值.SUBSTR()從指定表達(dá)式值的指定起始位置取指定長(zhǎng)度的子串作為函數(shù)值若缺省第三個(gè)自變量<長(zhǎng)變>,則函數(shù)從指定位置一直取到最后一個(gè)字符.例:STROE “GOOD BYE!”TO X?LEFT(X,2),SUBST

8、R(X,6,2)+SUBSTR(X,6),RIGHT(X,3) GO BYBYE! YE!(6)求子串位置函數(shù)格式:AT(<字符表達(dá)式1>,<字符表達(dá)式2>,<數(shù)值表達(dá)式>)ATC(<字符表達(dá)式1>,<字符表達(dá)式2>,<數(shù)值表達(dá)式>)功能:AT()的函數(shù)值為數(shù)值型.如果<字符表達(dá)式1>是<字符表達(dá)式2>的字串,則返回<字符表達(dá)式1>值的首字符在<字符表達(dá)式2>值中的位置;若不是子串,則返回0. <數(shù)值表達(dá)式>用于表明要在<字符表達(dá)式2>值中搜索<

9、字符表達(dá)式1>值的第幾次出現(xiàn).其默認(rèn)值為1.ATC()與AT()功能類(lèi)似,但在子串比較時(shí)不區(qū)分字母大小寫(xiě).例:X=”this is visual foxpro”?at(“fox”,x),at(“Fox”,x) 16 03.日期和時(shí)間函數(shù) (1)系統(tǒng)日期和時(shí)間函數(shù)格式:DATE() TIME() DATETIME()功能:DATE()返回當(dāng)前系統(tǒng)日期,涵數(shù)值為日期型. TIME()以24小時(shí)制、HH;MM:SS格式返回當(dāng)前系統(tǒng)時(shí)間,函數(shù)值為字符型。DATETIME()返回當(dāng)前系統(tǒng)日期時(shí)間,函數(shù)值為日期時(shí)間型。例:?DATE(),TIME(),DATETIME()4函數(shù)類(lèi)型轉(zhuǎn)換函數(shù)(1)數(shù)值

10、轉(zhuǎn)換成字符串格式:STR(<數(shù)值表達(dá)式>,長(zhǎng)度,<小數(shù)位數(shù)>)功能:將<數(shù)值表達(dá)式>的值轉(zhuǎn)換成字符串,轉(zhuǎn)換時(shí)根據(jù)需要自動(dòng)進(jìn)行四舍五入,返回字符串的理想長(zhǎng)度L應(yīng)該是<數(shù)值表達(dá)式>值的整數(shù)部分位數(shù)加上<小數(shù)位數(shù)>值,再加上1位小數(shù)點(diǎn).如果<長(zhǎng)度>值大于L,則字符串加前導(dǎo)空格以滿足規(guī)定的<長(zhǎng)度>要求;如果<長(zhǎng)度>大于等于<數(shù)值表達(dá)式>值的整數(shù)部分位數(shù)(包括負(fù)號(hào))但又小于L,則優(yōu)先滿足整數(shù)部分而自動(dòng)調(diào)整小數(shù)位數(shù);如果<長(zhǎng)度>值小<數(shù)值表達(dá)式>值的整數(shù)部分位數(shù),則返回一串星

11、號(hào)(*).小數(shù)位數(shù)的默認(rèn)值為0,<長(zhǎng)度>的默認(rèn)值為10.例:N=-123.456?”N=”+STR(N,8,3)N=-123.456?STR(N,9,2),STR(N,6,2),STR(N,3),STR(N,6),STR(N) -123.46 -123.5 * -123 -123(2)字符串轉(zhuǎn)換成數(shù)值格式:VAL(<字符表達(dá)式>)功能:將由數(shù)字符號(hào)(包括正負(fù)號(hào)、小數(shù)點(diǎn))組成的字符型數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的數(shù)值型數(shù)據(jù)。若字符串內(nèi)出現(xiàn)非數(shù)字字符,那么只轉(zhuǎn)換前面部分,若字符不是數(shù)字符號(hào),則返回?cái)?shù)值0,并忽略前導(dǎo)空格。例:STORE“-123.”TO XSTORE”45”TO YSTO

12、RE”A45”TO Z?VAL(X+Y),VAL(X+Z),VAL(Z+Y) -123.45 -123.00 0.00(3)宏替換函數(shù)格式:&<字符型變量>.功能:替換出字符型變量的內(nèi)容,即&的值是變量中的字符串.如果該函數(shù)與其后的字符無(wú)明確分界,則要用”.”作函數(shù)結(jié)束標(biāo)識(shí).例:X=”1” Y=”2”M=X+Y?&M35.測(cè)試函數(shù)系統(tǒng)對(duì)表中的記錄是逐條進(jìn)行處理的.對(duì)于一個(gè)打開(kāi)的表文件,在某一時(shí)刻只能處理一條記錄.VISUAL FOXPRO 為每一個(gè)打開(kāi)的表設(shè)置了一個(gè)內(nèi)部使用的記錄指針,指向正在被操作的記錄,該記錄稱(chēng)為當(dāng)前記錄.記錄指針的作用是標(biāo)識(shí)表的當(dāng)前記錄

13、.(1) 當(dāng)前記錄號(hào)函數(shù)格式:RECNO(<N/C>)功能:返回指定的工作區(qū)中所打開(kāi)的庫(kù)文件的當(dāng)前記錄號(hào).若該工作區(qū)中未打開(kāi)表文件,則返回?cái)?shù)值0.若省略<N/C>,則表示當(dāng)前工作區(qū).N:為工作區(qū)代號(hào), C:為工作區(qū)別名例:USE AA?RECN() 1SKIP 2 ?RECN() 3GO 5?RECN() 5SKIP 3?RECN() 2(2) 表文件首測(cè)試函數(shù)格式: BOF(<N/C>)功能:測(cè)試指定表文件中的記錄指針是否指向文件首,若是返回.T.,否則返回.F.,表文件首是指第一條記錄之前的位置.若缺省自變量,則測(cè)試當(dāng)前表文件. 若該工作區(qū)中未打開(kāi)表文件

14、,則返回?cái)?shù)值.F.。例:USE AA?BOF() .F.SKIP -1 ?BOF() .T.(3) 表文件尾測(cè)試函數(shù)功能:測(cè)試指定表文件中的記錄指針是否指向文件尾,若是返回.T.,否則返回.F.,表文件尾是指最后一條記錄之后的位置.若缺省自變量,則測(cè)試當(dāng)前表文件. 若該工作區(qū)中未打開(kāi)表文件,則返回?cái)?shù)值.F.。例:USE AA?EOF() .F.GO BOTTOM ?EOF() .F.SKIP ?EOF() .T.注意:如果打開(kāi)的是表是空表,那么BOF()和EOF()的值都是為.T.(4) 記錄刪除測(cè)試函數(shù)格式:DELETED(表的別名>|<工作區(qū)號(hào)>)功能:測(cè)試指定的表,或在

15、指定工作區(qū)中所打開(kāi)的表,記錄指針?biāo)傅漠?dāng)前記錄是否有刪除標(biāo)記”*”,若有為真,否則為假.若缺省<表的別名>|<工作區(qū)號(hào)>,則測(cè)試當(dāng)前工作區(qū)中所找開(kāi)的表.例:USE AAGO 3DELE ?DELE() .T.(5) 條件測(cè)試函數(shù)格式:IIF(<邏輯表達(dá)式>,<表達(dá)式1>,<表達(dá)式2>)功能:測(cè)試<邏輯表達(dá)式>的值,若為真,函數(shù)返回<表達(dá)式1>的值,否則返回<表達(dá)式2>的值.例:X=100Y=200?IIF(X>Y,X-30,Y-50)1502、Visual FoxPro表達(dá)式的使用(1)算術(shù)表達(dá)式在命令窗口下輸入下列命令,驗(yàn)證算術(shù)表達(dá)式的結(jié)果:?5-6*2%5分析:根據(jù)算術(shù)運(yùn)算的優(yōu)先級(jí)別,應(yīng)先進(jìn)行乘法計(jì)算6*2得12,再對(duì)5取模,得2,最后5減2得3。(2)字符表達(dá)式?“GOOD”+“ MORNING”分析;此為字符串的完全連接,將一個(gè)字符串連接到前一個(gè)字符串的尾部(包括空格),結(jié)果為:GOOD MORNING(3)關(guān)系運(yùn)算符?8*9>12*4-6分析:先計(jì)算關(guān)系運(yùn)算符兩邊的數(shù)值,再進(jìn)行比較.結(jié)果為.T.。(4)邏輯表達(dá)式?9*6>5*8.AND.(69-45)>12分析:先計(jì)算邏輯運(yùn)算符兩邊的關(guān)系表達(dá)式之值,再進(jìn)行邏輯運(yùn)算,結(jié)果為

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論