- 註冊時間
 - 2006-3-13 
 - 最後登錄
 - 2025-7-23 
 - 在線時間
 - 675 小時 
 - 閱讀權限
 - 200 
 - 積分
 - 417 
 - 帖子
 - 1109 
 - 精華
 - 0 
 - UID
 - 2 
  
 
 
 
    
 | 
 
VAT or Value Added Tax is a common form of taxation in the European Union (EU). VAT is added on top of the cost of a product or service and generates revenue for a government.- type TVATCalculator = class
 
 -  private
 
 -    fVatRate: double;
 
 -  public
 
 -    property VatRate : double read fVatRate;
 
 -    constructor Create (const vatValue : double) ;
 
  
-    function Vat(const netValue : double) : double;
 
 -    function Gross(const netValue : double) : double;
 
 -    function Net(const grossValue : double) : double;
 
 -    function VatFromGross(const grossValue : double) : double;
 
 -    function NetFromVat(const vatValue : double) : double;
 
 -    function GrossFromVat(const vatValue : double) : double;
 
 -  end;
 
  
- implementation
 
 -  
 
 -  constructor TVATCalculator.Create(const vatValue: double) ;
 
 -  begin
 
 -    fVatRate := vatValue;
 
 -  end;
 
 -  
 
 -  function TVATCalculator.Gross(const netValue: double): double;
 
 -  begin
 
 -    result := netValue + Vat(netValue) ;
 
 -  end;
 
 -  
 
 -  function TVATCalculator.GrossFromVat(const vatValue: double): double;
 
 -  begin
 
 -    result := vatValue + NetFromVat(vatValue) ;
 
 -  end;
 
 -  
 
 -  function TVATCalculator.Net(const grossValue: double): double;
 
 -  begin
 
 -    result := 100 / (100 + VatRate) * grossValue;
 
 -  end;
 
 -  
 
 -  function TVATCalculator.NetFromVat(const vatValue: double): double;
 
 -  begin
 
 -    result := vatValue * 100 / VatRate;
 
 -  end;
 
 -  
 
 -  function TVATCalculator.Vat(const netValue: double): double;
 
 -  begin
 
 -    result := VatRate * netValue / 100 ;
 
 -  end;
 
 -  
 
 -  function TVATCalculator.VatFromGross(const grossValue: double): double;
 
 -  begin
 
 -    result := grossValue - Net(grossValue) ;
 
 -  end;
 
  複製代碼 使用方式- var
 
 -    vc : TVATCalculator;
 
 -    valueIn : double;
 
 - begin
 
 -    valueIn := StrToFloat(edValue.Text);
 
 -    vc := TVATCalculator.Create(StrToFloat(edVat.Text));
 
 -    try
 
 -      edVat.Text := FormatFloat(',.00',vc.Vat(valueIn));
 
 -      edGross.Text := FormatFloat(',.00',vc.Gross(valueIn));
 
 -      edNet.Text := FormatFloat(',.00',vc.Net(valueIn));
 
 -      edVatFromGross.Text := FormatFloat(',.00',vc.VatFromGross(valueIn));
 
 -      edNetFromVat.Text := FormatFloat(',.00',vc.NetFromVat(valueIn));
 
 -      edGrossFromVat.Text := FormatFloat(',.00',vc.GrossFromVat(valueIn));
 
 -    finally
 
 -      vc.Free;
 
 -    end;
 
 - end;
 
  複製代碼 執行畫面 
 
 
 
 
用  5% 計算 100 的結果 
 
 
 
資料來源 http://delphi.about.com/od/delph ... -vat-calculator.htm |   
 
  
 |