您的位置:首页 > 其它

数字转换成中文数值的方法

2008-04-01 22:44 155 查看


function IntToChinese(Num: Integer): string;
var
I: Integer;
len: Integer;
iChar: Integer;
chNum: string;
begin
Result := '';
len := Length(IntToStr(Num));
for I := 1 to len do
begin
iChar := StrToInt(Copy(IntToStr(Num), I, 1));
case iChar of
0: chNum := '零';
1: chNum := '一';
2: chNum := '二';
3: chNum := '三';
4: chNum := '四';
5: chNum := '五';
6: chNum := '六';
7: chNum := '七';
8: chNum := '八';
9: chNum := '九';
end;


Result := Result + chNum;

if (I = len - 1) and (iChar <> 0) then Result := Result + '十';
if (I = len - 2) and (iChar <> 0) then Result := Result + '百';
if (I = len - 3) and (iChar <> 0) then Result := Result + '千';
if (I = len - 4) and (iChar <> 0) then Result := Result + '万';
if (I = len - 5) and (iChar <> 0) then Result := Result + '十';
if (I = len - 6) and (iChar <> 0) then Result := Result + '百';
if (I = len - 7) and (iChar <> 0) then Result := Result + '千';
if (I = len - 8) and (iChar <> 0) then Result := Result + '万';
end;


while (Length(Result) > 2)
and (Copy(Result, 1, 2) = '一')
and (Copy(Result, 3, 2) = '十') do
Result := Copy(Result, 3, Length(Result));


while (Length(Result) > 2)
and (Copy(Result, Length(Result) - 1, Length(Result)) = '零') do
Result := Copy(Result, 1, Length(Result) - 2);
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: