我正在尝试使用 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 计数器正在通过循环正确递增。
有人知道我哪里出错了吗?我什至尝试使用私有变量创建自定义函数,但没有任何区别。
提前致谢!