延迟付款处罚计算算法(月)

时间:2014-11-02 05:52:01

标签: c# mysql

我正在用C#和MySQL开发一个应用程序。我需要帮助创建一个函数来计算有兴趣的延迟付款的罚款。

鉴于:

  • A是支付金额(1000)

  • 我是延迟付款的利息(1%)

  • P是判罚结果

计算的逻辑应该是:

  • 如果A = 1000延迟一个月,P应为10(1000/100 * 1%)

  • 如果A = 1000延迟两个月,P应该是10 + 20(上个月罚款的两倍)

  • 如果A = 1000延迟三个月,P应为10 + 20 + 40

我不知道如何实现这一点。任何专家的想法都将有助于使用存储过程(MySQL)或C#中的函数。

ACUBE。

1 个答案:

答案 0 :(得分:0)

您要找的是sum of finite geometric series

在你的情况下 a 是1%( baseInterest ), n 是月数, r 是罚款乘数。

所以你的兴趣百分比计算看起来像(在C#中):

var interestPercents = baseInterest * (1 - Math.Pow(penaltyMultiplier, delayInMonths))/(1 - penaltyMultiplier);

然后你只需将金额乘以所得的百分比。