| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2268 人关注过本帖
标题:计算房贷的问题:等额本金(逐月递减还款)用VB.NET写总支付利息;本息合计;怎么 ...
只看楼主 加入收藏
caoqq
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-9-13
结帖率:100%
收藏
 问题点数:0 回复次数:0 
计算房贷的问题:等额本金(逐月递减还款)用VB.NET写总支付利息;本息合计;怎么写,求助!
计算房贷.zip (11.52 KB)
Public Class Form1

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        End
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim a, b, c, d, f, g, q, x, y, z, m, n, j, k, l, sum As Double
        a = Val(Me.TextBox1.Text) '贷款金额
        q = Val(Me.TextBox2.Text) * 12 '贷款时间
        b = Val(Me.TextBox3.Text) '贷款利率
        c = b / 12 '月利率
        d = a * c '还款额
        f = a / (((1 + c) ^ q - 1) / c) '还本金
        g = d + f '还款总额
        Me.TextBox4.Text = CStr(c)
        Me.TextBox5.Text = CStr(d)
        f = CInt(f * 10) / 10
        g = CInt(g * 10) / 10
        Me.TextBox6.Text = CStr(f)

        Me.TextBox7.Text = CStr(g)

        x = a / q '月本还款
        y = a * c '利息偿还
        z = x + y '还款总额

        x = CInt(x * 10) / 10
        y = CInt(y * 10) / 10
        z = CInt(z * 10) / 10

        Me.TextBox8.Text = CStr(x)
        Me.TextBox9.Text = CStr(y)
        Me.TextBox10.Text = CStr(z)
        n = Val(Me.TextBox11.Text) '月份
        m = x + (a - x * (n - 1)) * c '月还款总额
        m = CInt(m * 10) / 10
        Me.TextBox12.Text = CStr(m)
        j = c * x
        j = CInt(j * 10) / 10
        Me.TextBox13.Text = CStr(j)
        k = g * q
        l = k - a
        l = CInt(l * 10) / 10
        Me.TextBox14.Text = CStr(l)
        k = CInt(k * 10) / 10
        Me.TextBox15.Text = CStr(k)
        Me.TextBox16.Text = CStr(q)

      



如何计算房贷


??
?? 对于商业贷款来说,选择合适的贷款金额,偿还期数和贷款方式是非常重要的。
??
?? 房贷分为等额本金和等额本息两种。
??
?? 所谓等额本金,即每个月偿还的本金数相同,而等额本息,则是每个月偿还的本金和利息之和相同。
??
?? 譬如,2008年12月23日公布的人民币五年期以上贷款利率为5.94%(年),按照房贷七折优惠,则月利率为5.94/12 * 0.7 = 0.3465,所以月利率为3.465‰。
??
?? 如果贷款金额为50万,不管选择何种还款方式,每个月必须把利息全还了,也就是说,最低还款额也是500000*3.465‰ = 1732.5。如果你每个月还3000,那么这3000中的1732.5是利息,剩下的才是本金。也就是说,当月利息必须当月偿还,这1732.5不会带到下个月继续产生利息,所以就不存在利滚利的问题了。
??
?? 所谓等额本金,即每个月所偿还的本金数相同。如果贷款了50万,10年还清,则每个月所需偿还的本金为500000/120 = 4166.67。在第一个月,50万的本金产生了1732.5的利息,所以第一个月的还款总额为4166.67+1732.5 = 5899.17。
??
?? 到了第二个月,本金部分的偿还数额不变,仍然为4166.67。由于第一个月已经还了1732.5的本金,所以本金其实还剩495833.33,该部分的月利息为495833.33*3.465‰ = 1718.0625,所以第二个月的还款总额为4166.67+1718.0625 = 5884.73。(新浪的贷款计算器是错的,用焦点的吧……)
??
?? 到了最后一个月,偿还本金部分仍然不变为4166.67。由于最后一个月的所欠银行的本金其实也只剩下4166.67了,所以该月利息为4166.67*3.465‰ = 14.44,加上本金部分,最后一个月的还款总额为4181.11。
??
?? 所以等额本金的还款数额是越来越少,因为每个月所还本金相同,而利息是不断减少的。
??
??
??
?? 所谓等额本息,即每个月所偿还的本息总和相同。由等额本金的分析可知,所欠银行的本金其实是越来越少,所以利息也就越来越少。所以等额本息的还款是每个月所还的本金越来越多,所还的利息越来越少——虽然它们的总额都相同。
??
?? 设贷款总额为S,期数为q(10年就是120期),月利率为u。则第一个月所还的利息为Su。
??
?? 设第一个月所还本金为x1,则第二个月所剩的本金为(S-x1),所以第二个月所还的利息为(S-x1)u。
??
?? 设第二个月所还本金为x2,则有x1+Su = x2+(S-x1)u,这是因为每个月所还的本息总额相同。
??
?? 解上面的等式,可得x2 = (1+u)x1。同样的方法可以算出每个月所还的本金都是前一个月所还本金的(1+u)倍。
??
?? 因为q个月必须还完所有的本金,所以有x1(1 + (1+u) + (1+u)^2 + ... + (1+u)^(q-1) ) = S。
??
?? 解这个等比数列,得到 x1 * ( ((1+u)^q - 1)/u ) = S。
??
?? 将S=500000,q=120代入,得到x1 = 3367.39。加上第一个月的利息1732.5,得到第一个月,即每个月的还款总额5099.89。
??
??
??
?? 等额本息虽然看起来比较简单(每个月还的一样),但是计算起来要复杂一点。等额本息的不爽之处是贷款前期所还的本金很少,都给利息吃了。
??
??  相反的,等额本金的好处是每个月所还的本金相同,所以贷款前期就能偿还很多的本金,这些本金一旦还了,就不会再产生利息。显然,等额本金的总还款额要小于等额本息。其不爽之处则是还款初期压力较大。
??
??
??
?? 如果公积金贷款,自然选择等额本息,因为每个月的住房公积金是相同的。如果自己的偿还能力较足,并且有提前还款的预期,就应该选择等额本金,因为这样可以少还点利息,总还款额较低。
??
搜索更多相关主题的帖子: 贷款利率 
2015-02-11 13:12
快速回复:计算房贷的问题:等额本金(逐月递减还款)用VB.NET写总支付利息;本息合计 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017412 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved