function FloatToCCurrency(lfCurrency: Extended): string;
const
sCNumber: array['0'..'9'] of string[2] = ('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖');
sCUnit: array[0..14] of string[2] = ('万', '仟', '佰', '拾', '亿', '仟', '佰', '拾', '万', '仟', '佰', '拾', '元', '角', '分');
var
lfAbsCur: Extended;
sStr: string;
iCurPos, iBegPos, iLen: Integer;
bZeroAdded: Boolean;
begin
lfAbsCur := Abs(lfCurrency);
if lfAbsCur < 0.01 then
Result := '零'
else if lfAbsCur > 100000000000.00 then
Result := '**'
else
begin
if lfCurrency < 0 then
Result := '负'
else
Result := '';
bZeroAdded := False;
sStr := FormatFloat('#', lfAbsCur * 100);
iLen := Length(sStr);
iBegPos := 15 -