function MoneyConvert(mmje:real): WideString;
const
cNum: WideString = '零壹贰叁肆伍陆柒捌玖-万仟佰拾亿仟佰拾万仟佰拾元角分';
cCha: array[0..1, 0..11] of string =
(('零仟','零佰','零拾','零零零','零零',
'零亿','零万','零元','亿万','零角','零分','零整'),
( '零','零','零','零','零','亿','万','元','亿','零','整','整'));
var
i: Integer;
sNum :WideString;
begin
Result := '';
if mmje < 0 then
begin
Result := '负';
mmje := -mmje;
end;
sNum := FormatFloat('0',mmje*100);
for i := 1 to Length(sNum) do
begin
Result := Result + cNum[ord(sNum[i])-47] + cNum[26-Length(sNum)+i];
end;
for i:= 0 to 11 do // 去掉多余的零
begin
Result := StringReplace(result, cCha[0,i], cCha[1,i], [rfReplaceAll]);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.text:=MoneyConvert(123);
end;