Genexus专栏

wangxianjun's gx blog

genexus中对字符串的格式补空处理(自带函数PadL(s,Len,[c]) )

我们在开发当中经常碰到这样的问题,对将不足3位的数前补零 ,如1 =〉001 ,12 = 〉012等等,这样的处理 在genexus中可以很方便的处理。

我们可以用genexus自带函数PadL(s,Len,[c])

参数说明 s 需要转换的原字符串

                  Len 格式长度

                  c      补位字符,可选

我们来举个例子:

&str1 = '1'

&str2 = PadL(&str1,5)

显然&str2 = '00001'

同样我们来对日期型的转换如2007-09-11的日期型变量也可以转换

&date  //日期型

我们需要转换把&date 为yyyymmdd的字符串

&datestr = Trim(str(&date.Year())) + PadL(Trim(str(&date.Month())),2) + PadL(Trim(str(&date.Day())),2)

我们得到&datestr = '20070911'

 

同理genexus中还有函数PadR.

下面是padl函数的原型描述,大家可以看看这个函数内在是怎么实现的。

 padl(数值,长度,字符)  
  如:padl(8,3,'0')     ->008  
        padl(12,3)           ->012  
        padl(8,3,'   ')     ->     8  
   
   
  function   padl(n,ln:integer;c:string='0'):string;  
  var   i:integer;  
  begin  
  Result:=inttostr(n);  
          for   i:=ln-1   downto   Length(Result)   do  
                  Result:=c+Result;  
  end;  
   

 

阅读更多
个人分类: genexus
想对作者说点什么? 我来说一句

sscanf函数的高级用法

2012年08月26日 119KB 下载

没有更多推荐了,返回首页

不良信息举报

genexus中对字符串的格式补空处理(自带函数PadL(s,Len,[c]) )

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭