我想将数据库的一个货币型的字段转换成如下形式,请问如何实现?/
例如:23.122 —>0000000002312  要求从分位开始去掉小数点并将其补成13位字符

解决方案 »

  1.   

    下面是我曾用的一个函数,功能是对一个整数转成指定长度的字符串,不足长度前补0
    楼主改变数据变形即可:function TFrm_print.GetLsh(lsh: longInt): String;
    var
      i,len:integer;
      rstr:string;
    begin
       len:=8;//返回指定长度的字符串
       rstr:=inttostr(lsh);
       for I:=1 to (len-length(rstr)) do
           rstr:='0'+rstr;
       result:=rstr;    
    end;
      

  2.   

    var
    rData:real;
    rDataStr:string;
    i:integer;
    begin
     rData:=23.122;
     rDataStr:=IntToStr(Trunc(rData*100));
     for i:=1 to 13-StrLen(rDataStr) do
     begin
        rDataStr:='0'+rDataStr;
     end;
      

  3.   

    FormatFloat('0000000000000', value*100);这样得到string类型的