熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

delphi編程小寫金額轉換

2013-11-23 17:34:53  來源: Delphi編程 

  財務軟件中總少不了大寫的金額表示方式如下為一個簡單的小寫金額轉換為大寫的函數其思路簡單(可以說爛吧居然利用了位置來轉換)但是它卻幾乎可以無限制的轉換只要你能讀得出來和寫得進去

  function TformSmallTOBig(small:real):string;
  var SmallMonthBigMonth:string;
  weiqianwei:string[];
  weiqianweidianweizhiqian:integer;
  begin
  { 修改參數令值更精確 }
  {小數點後的位數需要的話也可以改動該值}
  qianwei:=; {轉換成貨幣形式需要的話小數點後加多幾個零}
  Smallmonth:=formatfloat(small);
  {}
  dianweizhi :=pos(Smallmonth);{小數點的位置}
  {循環小寫貨幣的每一位從小寫的右邊位置到左邊}
  for qian:=length(Smallmonth) downto do
  begin
  {如果讀到的不是小數點就繼續}
  if qian<>dianweizhi then
  begin
  {位置上的數轉換成大寫}
  case strtoint(copy(Smallmonthqian)) of
  :wei:=壹; :wei:=貳;
  :wei:=三; :wei:=肆;
  :wei:=伍; :wei:=陸;
  :wei:=柒; :wei:=捌;
  :wei:=玖; :wei:=零;
  end;
  {判斷大寫位置可以繼續增大到real類型的最大值可是誰有那麼多錢}
  case qianwei of
  :qianwei:=厘;
  :qianwei:=分;
  :qianwei:=角;
   :qianwei:=元;
   :qianwei:=拾;
   :qianwei:=佰;
   :qianwei:=千;
   :qianwei:=萬;
   :qianwei:=拾;
   :qianwei:=佰;
   :qianwei:=千;
   :qianwei:=億;
   :qianwei:=十;
  :qianwei:=佰;
  :qianwei:=千;
  end;
  inc(qianwei);
  BigMonth :=wei+qianwei+BigMonth;{組合成大寫金額}
  end;
  end;
  SmallTOBig:=BigMonth;
  end;

  程序調用如下edittext:=SmallTOBig();他自動默認小數點後兩位


From:http://tw.wingwit.com/Article/program/Delphi/201311/24711.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.