函數作用:
該函數有兩種用法,一種是進行類型轉換,見語法格式二;另一種是進行類型轉換的同時還進行數據格式的轉換,見語法格式一。重點是格式一的學習和理解。
函數語法: 格式一:String ( data, { format } )
格式二:String ( Blob )
data:要進行類型和格式轉換的數據;可以是date、DateTime、數字類型、time或
者string類型。
format:格式串,用來指定參數data的顯示格式。
根據參數data的數據類型的不同而不同。當參數data為String類型時,該參數是必需的,否則就沒有必要使用該函數了。
返 回 值:
String。函數執行成功時返回以字符串方式表示的指定數據,如果data參數的數據類型與format參數指定的格式不匹配、format參數指定的
格式無效、或data參數不是前面提到的適宜數據類型時,String()函數返回空字符串("")。
使用說明:format是個用掩碼表示的字符串,參數data的類型不同有不同的用法:
對data參數為數值類型的情況來說,格式為:
正數格式;負數格式;零的顯示格式;
空的顯示格式除第一部分必須提供外,其它部分可以省略。數值型顯示格式中使用兩個掩碼字符:#和0,其中,使用#代表0"9之間的任意數
字,0代表每個零都要顯示。另外,貨幣符號($或¥)、百分號(%)、小數點(.)、逗號(,)等字符也可以出現在格式字符串中,但是,除小數點(.)、
逗號(,)能夠出現在格式字符#和0之間外,其它字符只能放置在格式串的前面或后面,例如,###,###$###是個錯誤的格式串,
¥###,###,###是個正確的格式串。省略format參數時,String()函數使用PowerBuilder缺省格式。注意,如果顯示格式有
多個部分,各部分之間的分號(;)不能省略。其它字符也可以出現在顯示格式字符串中(只能放在格式串的開頭和末尾),但它們沒有特殊意義,系統只是照原樣
顯示。例如,用顯示格式字符串“收入##”格式化數值12時,顯示結果為“收入12”。
對data參數為字符串(String)類型的情況來說,format參數的語法格式為:
正常字符串格式;空值時格式
在“正常字符串格式”中,@代表字符串中的任意字符,除此之外的任何字符照原樣顯示,例如,如果定義了下面的格式:
(@@)@@@@-@@@@
則字符串0166767593顯示為:
(01)6676-7593
對data參數為日期(Date)類型的情況來
說,format參數的語法格式為:
正常日期格式;日期為空值時的格式
日期格式中格式字符意義如下:
d -- 開頭不帶0的日數(如8)
dd --
開頭帶0的日數(如08)
ddd -- 星期的英文縮寫(如Mon、Tue)
dddd -- 星期的英文全稱(如Monday、Tuesday)
m -- 開頭不帶0的月份(如8)
mm -- 開頭帶0的月份(如08)
mmm --
月份的英文縮寫(如Jan、Feb)
mmmm --
月份的英文全稱(如January、February)
yy --
兩位數字表示的年份(如97)
yyyy --
四位數字表示的年份(如1997)
另外,還可以使用下面的關鍵字作為日期的顯示
格式:
[General] Windows系統中定義的短日期格式
[LongDate] Windows系統中定義的長日期格式
[ShortDate] Windows系統中定義的短日期格式
對data參數為時間(Time)類型的情況來說,語法格式為:
正常時間格式;時間為空值時的格式
時間格式中格式字符意義如下:
h --
開頭不帶0的小時(比如6)
hh -- 開頭帶0的小時(比如06)
m -- 開頭不帶0的分鐘(比如6)
mm -- 開頭帶0的分鐘(比如06)
s -- 開頭不帶0的秒(比如6)
ss -- 開頭帶0的秒(比如06)
f --
開頭不帶0的微秒,可以指定1"6個f,每個f代表一部分微秒
AM/PM --
用AM/PM顯示上、下午時間,12小時制
am/pm --
用am/pm顯示上、下午時間,12小時制
A/P --
用A/P顯示上、下午時間,12小時制
a/p --
用a/p顯示上、下午時間,12小時制
另外,顯示格式中還可以使用關鍵字
[Time],它表示按當前Windows系統定義的格式顯示時間。
對
data參數為日期時間(DateTime)類型的情況來說,語法格式為:
正常
日期時間格式;日期時間為空值時的格式
日期時間類型使用的掩碼就是把日期掩碼和
時間掩碼結合起來即可。
代碼實例:
例1、下面的語句將指定日期轉換為: Jan 1,1998的格式:
string(1998-01-31,”mmmm dd,yyyy”)
例2、下面的語句把DateTime類型的值轉換為:Jan 1,1998 6 hrs and 8
min的字符串:
string(DateTime(1998-01-31,06:08:00),’mmmm
dd,yyyy h “hrs and” m ”min”’)
例3、下面的
語句把string1設置為0123:
integer li_num =
123
string ls_temp
ls_temp = string(li_num,”0000;(000);****;空”)
例4、下面的語句把string1設置為123:
integer li_num = -123
string ls_temp
ls_temp = string(li_num,”000;(000);****;空”)
例5、下面的語句把string1設置為****:
integer li_num = 0
string ls_temp
ls_temp = string(li_num,”0000;(000);****;空”)
例6、下面的語句把string1設置為空:
integer li_num
string ls_temp
SetNull(li_num)
ls_temp =
string(li_num,”0000;(000);****;空”)
posted on 2010-06-09 14:24
Ke 閱讀(12045)
評論(0) 編輯 收藏 所屬分類:
powerBuilder