我要合并字符串,
使用那个函数啊?
比如
  把‘零零’变成‘零’我在做货币转换成大写字符,
那位还有更好的算法?
比如把
 100502.51
    转换成
 拾万零伍佰零贰点伍壹

解决方案 »

  1.   


    function SmallToBig(small: double): string;
    const
      weis = '零壹贰叁肆伍陆柒捌玖';
      qianweis = '分角元拾佰仟万拾佰仟亿十佰仟';
    var
      decPos: Integer;
      I, Len, n, m: Integer;
      SmallMonth: string;
    begin
      SmallMonth := FormatFloat('0.00', small);
      Len := Length(SmallMonth);
      DecPos := Pos('.', SmallMonth);
      n := 0;
      Result := '';
      for I := Len downto 1 do
      begin
        if I = DecPos then continue;
        m := (Ord(SmallMonth[I]) - 48) * 2 + 1;
        Result := Copy(weis, m, 2) + Copy(qianweis, n * 2 + 1, 2) + Result;
        Inc(n);
      end;
    end;procedure TForm1.Button1Click(Sender: TObject);begin
      ShowMessage(SmallToBig(1234567890.12));
    end;
      

  2.   

    嘿嘿
    我借楼上的弟兄补充一点自定义函数SmallTObig
    函数功能:处理double类型的数字,返回string