1樓:匿名使用者
at要區分大小寫,fox首字母小寫,和fox不一樣,所以不是子字串,結果是0。
atc不區分大小寫,fox和fox算一樣,首字母f在那句話中是第16個字元(前面有12個字母和3空格)。
vf常用函式
2樓:匿名使用者
數值函式
:1.絕對值和符號函式
格式:abs(《數值表示式》)
sign(《數值表示式》)
例如:abs(-5)=5,abs(4)=4,sign(8)=1,sign(-3)=-1,sign(0)=0
2.求平方根表示式
格式:sqrt(《數值表示式》)
例如:sqrt(16)=4,它與開二分之一次方等同。
3.圓周率函式
格式:pi()
4.求整數函式
格式:int(《數值表示式》)返回數值表示式的整數部分
ceiling(《數值表示式》)返回大於或等於表示式的最小整數
floor(《數值表示式》)返回小於或等於表示式的最大整數
例如:int(5.8)=5.8,int(-7.8)=-7,ceiling(6.4)=7,ceiling(-5.9)=-5
floor(9.9)=9
5.四捨五入函式
格式:round(《數值表示式1>,《數值表示式2>)
功能:返回制定表示式在制定位置四捨五入的結果
例如:round(345.345,2)=345.35,round(345.345,1)=345.3,round(345.345,0)=345,
round(345.345,-1)=350
6.求餘函式
格式:mod(《數值表示式1>,《數值表示式2>)
例如:mod(10,3)=1 mod(10,-3)=-2 mod(-10,3)=2 mod(-10,-3)=-1
求餘數的規律:1.首先按照兩數的絕對值求餘
2.表示式1的絕對值大於表示式2的絕對值,則餘數為表示式1的值
3.餘數取表示式1的正負號
4.若兩數異好號,餘數在加上表示式2的值為最終的結果
7. 求最大值和最小值函式
max(數值表示式列表)
min (數值表示式列表)
例如:max(2,3,5)=5 max(„2‟,‟12‟,‟05‟)=2 max(„汽車‟,‟飛機‟,‟輪船‟)
字串比較的規律:
字串比較首先比較第一個字母,如果有結果那就不用在進行比較了。如果相等在進行第二個字母的比較,以次類推。
字元函式
1.求字串長度函式
格式:len(《字元表示式》)
功能:返回制定字元表示式的長度,即所包含的字元個數。函式值為數值型
例如:x=「中文visual foxpro6.0」 則len(x)=20
2.大小寫轉換函式
格式:lower(《字元表示式》)
upper(《字元表示式》)
功能:lower將制定表示式值中的大寫字母轉換成小寫字母,其他字元不變
upper將指定表示式值中的小寫字母轉換成大寫字母,其他字元不變。
例如:lower(„x1y2a‟)=x1y2a upper(„n=1‟)=n=1
3.空格字串生成函式
格式:space(《字元表示式》)
功能:返回指定數目的空格組成的字串。
4.刪除前後空格函式
格式:trim(《字元表示式》)
ltrim(《字元表示式》)
alltrim(《字元表示式》)
功能:trim():返回指定字元表示式值去掉尾部空格後形成的字串
ltrim():返回指定字元表示式值去掉前導空格後形成的字串
alltrim():返回指定字元表示式值去掉前導空格和尾部空格後形成的字串。
例如:store space(1)+」test」+space(3) to ss
?trim(ss)+ltrim(ss)+alltrim(ss)
len(ss)=8,len(trim(ss))=5,len(ltrim(ss))=7,len(alltrim(ss))=4
5.取子串函式
格式:left(《字元表示式》,《長度》)
right(《字元表示式》,《長度》)
substr(《字元表示式》,《起始位置》,《長度》)
例如:store „-123.‟ to x,stort „45‟ to y
store ‟a45‟ to z
0val(x+y)=123.45,val(x+z)=123.00,val(z+y)=0.00
3.字串轉換成日期或日期時間
格式:ctod(《字元表示式》)轉化成日期型資料
ctot(《字元表示式》)轉化成日期時間型資料
4.日期或日期時間轉化成字串
格式:dtoc(《日期表示式》|《日期時間表示式》[,1])
ttoc(《日期時間表示式》 [,1])
功能toc()將日期型資料或日期時間資料的日期部分轉化成字串
ttoc()將日期時間資料轉化成字串
宣告:對dtoc()來說,如果選項是1,則字串的格式總是yyyymmdd,8個字元。 對ttoc()來說,如果使用選項1,則字串格式總是yyyymmddhhmmss,14個字元
例如:store datetime() to t
dtoc(t)=11/11/2005, dtoc(t,1)=20051111,
ttoc(t)=11/11/2005 18:54:34 pm ttoc (t,1)=20051111185434
5巨集替換函式
格式 :&《字元變數》[.]
功能:替換出字元變數的內容,即去掉定界符。
例如:kk=「456」, ?&kk*100=45600
測試函式
1.值域測試函式
格式:between(《表示式t>,《表示式l>,《表示式h>)
例如:store null to x;store 100 to y
between(150,y,y+100)=.t.
between(90,x,y)=null
2.空值(null值)測試函式
格式:isnull(《表示式》)
例如:store .null. to x
isnull(x)=.t.
3「空」值測試函式
格式:empty(《表示式》)
4.資料型別測試函式
格式:vartype (《表示式》[,《邏輯表示式》])
功能:測試表示式的型別,返回一個大寫字母,函式值為字元型
2.空值(null值)測試函式
格式:isnull(《表示式》)
3.表檔案尾測試函式
格式:eof([《工作區號》|《表別名》])
4.表檔案頭測試函式
格式:bof([《工作區號》|《表別名》])
5.記錄號測試函式
格式:recno([《工作區號》|《表別名》])
6記錄個數測試函式
reccount ([《工作區號》
6.條件測試函式
格式:iif(《邏輯表示式》,《表示式1>,《表示式2>)
功能:測試《邏輯表示式》的值,表示式邏輯若為真,函式返回《表示式1>
的值,若為邏輯假,函式返回《表示式2>的值,《表示式1>和《表示式2>表示式型別不要求相同。
例如:x=100;y=300
iif(x>100,x-50,x+50)=150;iif(y>100,y-50,y+50)=250
7.記錄刪除測試函式
格式:deleted([《工作區號》|《表別名》])
vf命令及函式 命令
store {}|| to db &&賦空日期 store to tblankdate &&賦空日期時間
set strictdate to [0|1] &&關閉日期格式檢查0關1開 #define 《常量名》《表示式》 &&賦值符號(編譯)常量 #undefine 《常量名》 &&釋放定義的常量 store 《表示式》to《變數名錶》 &&記憶體變數賦值
list memory [like《萬用字元》] [to print|to 《檔名》] && 顯示記憶體變數 disply用於分屏顯示
declare 陣列名1(行數[,列數])[,陣列名2(行數[,列數])]... &&定義陣列,也可用dimension定義 函式
vf基本資料型別: c-字元型 n-數值型 i-整型 f-浮點型
b-雙精度型 y-貨幣型 l-邏輯型 d-日期型 t-日期時間型 m-備註型 g-通用型
* 字元表示式 數值表示式 日期時間型表示式 n型函式
abs&&絕對值 int&&無條件取整
round(,n) &&四捨五入.n>=0,從小數點後n+1四 舍五入,n<0,從小數點前n位取.n為小數絕對取整 sqrt&&平方根.expn必須大於0
log/log10&&自然對數/以10為底的對數 exp&&自然指數 sin&&正弦 cos&&餘弦 tan&&餘切 asin&&反正弦 acos&&反餘弦 atan&&反餘切 mod&&取餘/取模
ceiling&&返回大於等於expn的最小整數 floor&&返回小於等於expn的最大整數
sign&&符號函式.若expn>0、=0、<0,返回1、0、-1 rand&&隨機函式.返回0與1之間一個隨機數,expn為種子數 max|min(,)&&取大小函式.
expn應為d、n型 c型函式
len&&測試字串長度,返回n型 upper&&返回c型大寫字串 lower&&返回c型小寫字串 space&&空格函式.返回c型
substr(,[,]) &&擷取expn1開始的expn2個字元,若省略expn2則從expn1擷取開始到末尾
ltrim&&刪除expc前空格 rtrim/trim&&刪除expc後空格
alltrim&&刪除expc前後空格,返回c型 &《字元型記憶體變數》[.] &&巨集代換
$&&測試1是否包含2.返回.t.
、.f. at(,&&搜尋1在2中的起始位置,若無為0 left(,) &&擷取左邊開始的expn個字元 right(,) &&擷取右邊開始的expn個字元
stuff (,,,) &&替換.用c2的內容替換n1開始的n2個c1個字元 padc (,[,]) &&左右填充.用c填充在字串兩邊,n為填充後總長度.字串可為c、n、d型
padl(,[,]) &&左填充 padr(,[,]) &&右填充 ltrim &&刪空格(前) ririm/irim&&刪空格(後) replcate(,) &&重複n次c
transform(,) &&按expc的要求顯示exp e.g:?transform(131.137,"$$$.999") $131.140 d型函式
date() &&當前系統日期,返回t型 time() &&當前系統時間,返回c型 datetime() &&系統日期時間,返回t型
year(|) &&年份.返回d|t對應年的數值,n型 month(|) &&月份 day (|) &&日
vf中求子串出現次數函式時at和atc和occurs命令有什麼區別
at和atc求子串在主串中出現的位置,at 1個全形字元計2個字元,atc 1個全形字元也計1個字元 occurs求子串在主串中出現的次數 求子串位置函式。store this is visual foxpro to x at fox x at is x,3 請講解謝謝 at fox x 0 求fo...
可以用strcpy函式將字串拷貝到字元陣列中嗎
可以。include include int main char name1 20 吃了沒?世界 std string name2 吃了 strcpy s name1,name2.size 1,name2.c str 這個改成name2.c str name2是知string型別,不是char st...
C替換字串中固定位置0的問題
string str otonaninaru 009 09 10 001 配信日 2009 06 19 string arr str.split if arr.length 2 str string.join arr console.writeline str string s otonaninar...