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;  
   

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章