PBString(data,{format})
函数作⽤:该函数有两种⽤法,⼀种是进⾏类型转换,见语法格式⼆;另⼀种是进⾏类型转换的同时还进⾏数据格式的转换,见语法格式⼀。重点是格式⼀的学习和理解。
函数语法: 格式⼀: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 8min的字符串:
string(DateTime(1998-01-31,06:08:00),’mmmmdd,yyyy h “hrs and” m ”min”’) 例3、下⾯的语句把string1设置为0123:
integer li_num =123
格式化命令format参数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);****;空”)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论