?? calmoneyx.pas
字號:
Unit CALMoneyx;
Interface
Uses
Windows, SysUtils, Math, ComObj, shellapi, Shlobj;
Function DEBX(y, N, i: double): double;
Function DELJ(y, N, i, G, T: double): double;
Function DBLJ(y, N, i, s, T: double): double;
Function GetMoneyDJ(Money, MLL: double; Months, month: integer;
Var MBJ, MLC: double): double;
Implementation
Function GetMoneyDJ(Money, MLL: double; Months, month: integer;
Var MBJ, MLC: double): double;
Begin
MBJ := roundto(Money / Months, -2); //月本金
MLC := roundto((Money - MBJ * (month - 1)) * MLL, -2); //月利息
result := MBJ + MLC;
End;
Function DEBX(y, N, i: double): double;
Var
FZ, FM : double;
Begin
FZ := y * i * Power(1 + i, N);
FM := Power(1 + i, N) - 1;
result := FZ / FM;
End;
Function DELJ(y, N, i, G, T: double): double;
Var
v, Wb, We : double;
T1, T2, T3, T4, T5: double;
Begin
Wb := T;
We := 0;
v := Int((N - Wb) / T) + 1;
If v < 0 Then Begin
result := 0;
Exit;
End;
T1 := DEBX(y, N, i);
T2 := G / (Power(1 + i, N) - 1);
T3 := Power(1 + i, We);
T4 := (Power(1 + i, (v + 1) * T) - 1) / (Power(1 + i, T) - 1);
T5 := v + 1;
result := T1 - T2 * (T3 * T4 - T5);
End;
Function DBLJ(y, N, i, s, T: double): double;
Var
We, v, Wb : double;
T1, T2, T3, T4, T5, T6, T7: double;
Begin
If 1 + s = Power(i + 1, T) Then Begin
result := 0;
Exit;
End;
Wb := T;
We := 0;
v := Int((N - Wb) / T) + 1;
If v < 0 Then Begin
result := 0;
Exit;
End;
T1 := y * i * Power(1 + i, N);
T2 := Power(1 + i, v * T + We);
T3 := Power(1 + i, Wb) - 1;
T4 := (1 + s) * (Power(1 + i, T) - 1) * Power(i + i, Wb);
T5 := (Power(1 + i, v * T) - Power(1 + s, v)) / (Power(1 + i, T) - (1 + s));
T6 := Power(1 + s, v + 1);
T7 := Power(1 + i, We) - 1;
result := T1 / (T2 * T3 + T4 * T5 + T6 * T7);
End;
End.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -