关闭

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

标签: cintegerstringdatefunction
1353人阅读 评论(0) 收藏 举报
分类:

我们在开发当中经常碰到这样的问题,对将不足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;  
   

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:52591次
    • 积分:756
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:2篇
    • 译文:0篇
    • 评论:18条
    文章分类
    最新评论