function TFormMain.SmallTOBig(small:real):string;
var
S1,B1,w1,qw1:string;
qw,dwz,q:integer;
begin
s1 :=formatfloat('0.00',small); //格式化字符串
dwz:=pos('.',s1); //求小数点位置
qw :=dwz-2; //第一位的位值
for q:=1 to length(s1) do //从第一位开始循环到最后一位
begin
if q<>dwz then //是点位值跳过
begin
case strtoint(copy(S1,q,1)) of
1:w1:='壹'; 2:w1:='贰';
3:w1:='叁'; 4:w1:='肆';
5:w1:='伍'; 6:w1:='陆';
7:w1:='柒'; 8:w1:='捌';
9:w1:='玖'; 0:w1:='零';
end;
case qw of
-2:qw1:='分'; -1:qw1:='角'; 0:qw1:='元';
1:qw1:='拾'; 2:qw1:='佰'; 3:qw1:='仟';
4:qw1:='万'; 5:qw1:='拾'; 6:qw1:='佰';
7:qw1:='仟'; 8:qw1:='亿'; 9:qw1:='拾';
10:qw1:='佰'; 11:qw1:='仟'; 12:qw1:='兆';
13:qw1:='拾'; 14:qw1:='佰'; 15:qw1:='仟';
end;
if w1='零' then //数值是零的情况
begin
if (qw=4)or(qw=8) then //数位是万位和亿位的情况
begin
if ((q+1)<=length(s1)) and ((q+1)<>dwz) then
if (strtoint(copy(S1,q+1,1))<>0) then
b1:=b1+qw1+w1
else
begin
if copy(b1,length(b1)-1,2)<>'亿' then
b1:=b1+qw1;
end;
end;
if qw=0 then b1:=b1+qw1; //数位是个位的情况
if (qw<>0) and (qw<>4) and (qw<>8) then //数位不是万位,亿位,个位的情况
if ((q+1)<=length(s1)) and ((q+1)<>dwz) then
if (strtoint(copy(S1,q+1,1))<>0) then
B1 :=B1+w1;
end
else
begin
b1 := b1+w1+qw1; //减位数
end;
dec(qw); //qw自动减1
end;//end if
end;//end for
if (pos('角',B1)<=0) and (pos('分',B1)<=0) then
B1:=B1+'圆整';
SmallTOBig:=B1;//返回值
end;