数字转换成英文数字
解决方案 »
- 检测网卡Mac地址,开机时检测有时找不到
- 关于StringGrid控件使用的问题?
- 关于ADOQuery的参数问题
- 天大學生被毒打致死
- 关于fastreport很急手的问题???除给的100分以外,还送100分
- 菜鸟问题可别笑我 帮忙给出TREEVIEW读出我的电脑像SHELLTREEVIEW 那样谢谢哦我想我有一天会变老鸟的!!
- 不用c/s,只想一台能操作另一台上的库,这两台是平等的,用那个控件?
- 请各位马上帮帮忙,我的文件不能保存有错误提示can not create firl c:\软件\project1.res
- 如何在delphi6中的dbgrid填加计算字段?我找了半天!!!
- delphi函数作为C++回调函数使用报错
- dblookupcombobox问题
- 我想下载
1: one
2: two
*****
10 : ten
其它不会
关注,,
type
arr=array[1..9,1..3] of string;
var
num:arr;
lclast,temp:string;
i,code,len,lntimes,lnhundred,lnten,lnone,lntempnum:integer;
begin
lntimes:=0;
lclast:='';
num[1,1]:='ONE';
num[1,2]:='ELEVEN';
num[1,3]:='TEN';
num[2,1]:='TWO';
num[2,2]:='TWELVE';
num[2,3]:='TWENTY';
num[3,1]:='THREE';
num[3,2]:='THIRTEEN';
num[3,3]:='THIRTY';
num[4,1]:='FOUR';
num[4,2]:='FOURTEEN';
num[4,3]:='FORTY';
num[5,1]:='FIVE';
num[5,2]:='FIFTEEN';
num[5,3]:='FIFTY';
num[6,1]:='SIX';
num[6,2]:='SIXTEEN';
num[6,3]:='SIXTY';
num[7,1]:='SEVEN';
num[7,2]:='SEVENTEEN';
num[7,3]:='SEVENTY';
num[8,1]:='EIGHT';
num[8,2]:='EIGHTEEN';
num[8,3]:='EIGHTY';
num[9,1]:='NINE';
num[9,2]:='NINETEEN';
num[9,3]:='NINETY';
len:=length(lcnum);
for i:=1 to 12-len do
lcnum:=concat('0',lcnum);
for i:=0 to 3 do
begin
temp:=copy(lcnum,1+3*i,3);
val(temp,lntempnum,code);
lntimes:=lntimes+1;
if lntempnum=0 then
continue;
lnhundred:=lntempnum div 100;
lnten:=(lntempnum div 10) mod 10;
lnone:=lntempnum mod 10;
if lnhundred<>0 then
lclast:=concat(lclast,' ',num[lnhundred,1],' HUNDRED');
if (length(trim(lclast))<>0) and (lnhundred<>0) then
lclast:=concat(lclast,' AND');
if (lntimes=4) and (lnhundred=0) and (length(trim(lclast))<>0) then
lclast:=concat(lclast,' AND');
case lnten of
0:
begin
if lnone<>0 then
lclast:=concat(lclast,' ',num[lnone,1])
else
begin
temp:=copy(lclast,length(lclast)-2,3);
if temp='AND' then
lclast:=copy(lclast,1,length(lclast)-3);
end;//case 0 else
end;//case 0
1:
begin
if lnone<>0 then
lclast:=concat(lclast,' ',num[lnone,2])
else
lclast:=concat(lclast,' ',num[1,3]);
end;//case 1
else
if lnone<>0 then
lclast:=concat(lclast,' ',num[lnten,3],'-',num[lnone,1])
else
lclast:=concat(lclast,' ',num[lnten,3]);
end;//case1
case lntimes of
1:lclast:=concat(lclast,' BILLION');
2:lclast:=concat(lclast,' MILLION');
3:lclast:=concat(lclast,' THOUSAND');
end;//case2
end;//for
result:=lclast;
end;