0

我正在尝试使用 Crystal 2008 中的 For 循环根据资产的使用年限执行非常基本的折旧计算,但无法让它终生工作。

循环如下所示:

NumberVar AssetValue := {CIID.Currency4};
NumberVar DepreciationPercentage := {vw_DepreciationValues.Percent};
NumberVar AssetAge := DateDiff("yyyy",{CIID.Date4},CurrentDate);
Numbervar i := 0;

for i := 0 to AssetAge do
(
    AssetValue = AssetValue - ((AssetValue/100)*DepreciationPercentage);
    i = i + 1;
);
AssetValue;

出于某种原因,它总是将 AssetValue 输出为与输入相同的数字......几乎就像它在运行后被重置一样。

我已经在循环之外测试了折旧公式,它工作正常。我还验证了 i 计数器正在通过循环正确递增。

有人知道我哪里出错了吗?我什至尝试使用私有变量创建自定义函数,但没有任何区别。

提前致谢!

4

1 回答 1

3

错别字:

AssetValue = AssetValue - ((AssetValue/100)*DepreciationPercentage);
           ^--- equality test
i = i + 1
  ^-- ditto

应该是:=做作业。

于 2012-04-04T16:38:55.273 回答