复利计算工具 wpf

最近看完《30年后,你拿什么养活自己?》这本书,了解到复利的魅力,就打算把里面的计算方式用程序写出来。

先看复利的概念:复利是指在每经过一个计息期后,都要将所生利息加入本金,以计算下期的利息。这样,在每一个计息期,上一个计息期的利息都将成为生息的本金,即以利生利,也就是俗称的“利滚利”。

《30年后,你拿什么养活自己?》这本书中,在每个周期后有追加的资金,所以这里复利的计算关键包括:本金,周期利息,每周期追加资金,周期数。也就是,从第二个周期起,每个周期开始本利和加上每周期追加资金才是新周期开始的本金。

举个例子:如果本金是50000元,周期利率是10%,每周期追加资金是60000元,共20个周期,运行结果截图如下:

 可以看出,在20个周期中,投入的本金为1190000元,产生利息为2522874元。如果拿做资金的储蓄和投资方案,还是可行的。

 核心代码:

 

/// <summary>
/// 计算复利,并显示给用户
/// </summary>
/// <param name="principal">本金</param>
/// <param name="addFundsCycle">以后每周期增加资金</param>
/// <param name="cycleRate">周期利率</param>
/// <param name="cycleCount">周期数</param>
private void CalcCompoundInterest(
double principal, double addFundsCycle, double cycleRate, int cycleCount)
{
// 初始化为第一个周期的数据

// 总的本金,是本金与所有追加的资金和
double totalPrincipal = principal;
// 复利
double compoundInterest = principal * (1 + cycleRate);
// 总利息
double totalInterest = principal * cycleRate;

for (int i = 0; i < cycleCount - 1; i++)
{
// 累加本金
totalPrincipal += addFundsCycle;
// 加上本周期追加资金
compoundInterest += addFundsCycle;
// 累加每周期利息
totalInterest += compoundInterest * cycleRate;
// 计算本周期结束后复利
compoundInterest *= (1.0 + cycleRate);
}

StringBuilder sb = new StringBuilder();
sb.AppendFormat("本金共为 : {0:C2}", totalPrincipal);
sb.AppendLine();
sb.AppendFormat("利息共为 : {0:C2}", totalInterest);
sb.AppendLine();
sb.AppendFormat("产生复利为 : {0:C2}", compoundInterest);

this.txtResult.Text = sb.ToString();
}

 

程序编译环境 VS2010 + .NET 4 + WPF

源代码下载 

转载于:https://www.cnblogs.com/ProJKY/archive/2011/12/08/2281148.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值