1. 程式人生 > >阿拉伯數字轉換成中文大寫數字

阿拉伯數字轉換成中文大寫數字

function UpGB(InData:real):string;
var a1,a2,a3,a4,a5,a6,a7:real;
begin
  a1 := int(InData/10000);
  a2 := int((InData-a1*10000)/1000);
  a3 := int((InData-a1*10000-a2*1000)/100);
  a4 := int((InData-a1*10000-a2*1000-a3*100)/10);
  a5 := int((InData-a1*10000-a2*1000-a3*100-a4*10)/1);
  a6 := int((InData-a1*10000-a2*1000-a3*100-a4*10-a5)/0.1);
  a7 := int((InData-a1*10000-a2*1000-a3*100-a4*10-a5-a6*0.1)/0.01);
  if a1>0 then
   result := ReUpGBOne(a1)+'萬';
  if a2>0 then
   result := result+ReUpGBOne(a2)+'千';
  if (a2=0) and (a1>0) then
    result := result+'零';
  if a3>0 then
    result := result+ReUpGBOne(a3)+'百';
  if (a3=0) and (a2>0) then
    result := result+'零';
  if a4>0 then
    result := result+ReUpGBOne(a4)+'拾';
  if (a4=0) and (a3>0) then
    result := result + '零';
  if a5>0 then
    result := result+ReUpGBOne(a5)+'元';
  if (a5=0) and (a4>0) then
    result := result+'元零';
  if a6>0 then
    result := result+ReUpGBOne(a6)+'角';
  if (a6=0) and (a5>0) and (a7>0) then
    result := result+'零';
  if (a6=0) and (a7=0) then
    result:= result+'整';
  if a7>0 then
    result := result+ReUpGBOne(a7)+'分整';
  if (a7=0) and (a6<>0) then
    result := result+'整';
end;