📄 uppermoney_u.pas
字号:
unit UpperMoney_U;
interface
function UpperMoney(ls: Variant): String;
implementation
Uses
Sysutils;
function UpperMoney(ls: Variant): String;
var
dx_sz,dx_dw,str_int,str_dec,dx_str,fu:string;
a,b,b2,c,d:string;
num_int,num_dec,len_int,i,a_int,pp:integer;
//dx_str为返回字符串
begin
dx_sz:='零壹贰叁肆伍陆柒捌玖';
dx_dw:='万仟佰拾亿仟佰拾万仟佰拾元';
//处理金额小于零情况
if ls<0 then
begin
ls:=ls*(-1);
fu:='负';
end
else
fu:='';
//取得整数值及整数串
dx_str:=ls;
if (ls >0) and (ls<1) then
dx_str:='0'+dx_str;
pp:=pos('.',dx_str);
if pp > 0 then//带有小数
str_int:=copy(dx_str,1,pp-1)//取出整数部分
else
str_int:=dx_str;
num_int:=StrToInt(str_int);
//取得小数值及小数串
if (ls>0)and(ls<1) then
num_dec:=ls*100
else
num_dec:=(ls-num_int)*100;
str_dec:=inttostr(num_dec);
len_int:=Length(str_int);
dx_str:='';
//转换整数部分
for i:=1 to len_int do
begin
//a为小写数字字符,b为对应的大写字符
//c为对应大写单位,d为当前大写字符串的最后一个汉字
a:=copy(str_int,i,1);
a_int:=strtoint(a);
b:=copy(dx_sz,(a_int*2+1),2);
c:=copy(dx_dw,((13-len_int+i-1)*2+1),2);
if dx_str<>'' then
d:=copy(dx_str,Length(dx_str)-1,2)
else
d:='';
if (b='零')and((d='零')or(b=b2)or(c='元')or(c='万')or(c='亿')) then
b:='';
if (a='0')and(c<>'元')and(c<>'万')and(c<>'亿') then
c:='';
if ((c='元')or(c='万')or(c='亿'))and (d='零')and(a='0') then
begin
dx_str:=copy(dx_str,1,Length(dx_str)-2);
d:=copy(dx_str,Length(dx_str)-1,2);
if ((c='元')and(d='万'))or((c='万')and(d='亿')) then
c:='';
end;
dx_str:=dx_str+b+c; b2:=b;
end;
//处理金额小于1的情况
if Length(dx_str)<=2 then
dx_str:='';
//转换小数部分
if (num_dec<10)and(ls>0) then
begin
a_int:=strtoint(str_dec);
b:=copy(dx_sz,(a_int*2+1),2);
if num_dec=0 then
dx_str:=dx_str+'整';
if num_dec>0 then
dx_str:=dx_str+'零'+b+'分';
end;
if num_dec>=10 then
begin
a_int:=strtoint(copy(str_dec,1,1));
a:=copy(dx_sz,(a_int*2+1),2);
a_int:=strtoint(copy(str_dec,2,1));
b:=copy(dx_sz,(a_int*2+1),2);
if a<>'零' then
a:=a+'角';
if b<>'零' then
b:=b+'分'
else
Begin
b:='';
a:=a+'整';
End;
dx_str:=dx_str+a+b;
end;
if ls=0 then
dx_str:='零元整';
dx_str:=fu+dx_str;
//函数返回字符串
Result:=dx_str;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -