等额本金VS等额本息计算器来了

最近大家都在讨论存量房贷下调利率的事情,今天我们来算一下房贷利率下调之后能省下多少钱

一、贷款计算器-等额本金VS等额本息

#贷款计算器
class LoanCalculator:
    #等额本金还款方式
    def average_capital(self,loan_amount,loan_years,rate_year):
        """
        每月还款金额 = (借款金额/期数)+(借款本金-累计已还款金额)*月利率
        :param loan_amount: 贷款金额
        :param loan_years: 贷款年限
        :param rate_year: 贷款年利率
        :return:
        """
        # 总利息
        interest = 0
        # 月利率
        month_rate = rate_year/100 / 12
        # 每月应还本金
        principal = loan_amount / loan_years / 12
        for i in range(0,loan_years*12):
            if i == 0:
                month_amount = principal + (loan_amount * month_rate)
                print(f'第{i+1}期还款金额:',month_amount)
            else:
                month_amount = principal +(loan_amount * month_rate)
                print(f'第{i+1}期还款金额:',month_amount)
            interest += loan_amount * month_rate
            #还款本金每个月递减
            loan_amount -= principal
        print("总利息",interest)

    #等额本息还款方式
    def equality_corp(self,loan_amount,loan_years,rate_year):
        """
        月利息 = 贷款金额 * 月利率
        每月应还金额 = 贷款金额 * (月利率 * (1 + 月利率) ** 贷款月数) / ((1 + 月利率) ** 贷款月数 - 1)
        :param loan_amount: 贷款本金
        :param loan_years: 贷款月数
        :param rate_year: 贷款年利率
        :return:
        """
        #还款总利息
        total_interest = 0
        month_rate = rate_year/100/12 #月利率
        loan_month  =  loan_years * 12 #还款期数
        #每月还款金额
        amount = loan_amount * (month_rate * (1 + month_rate) ** loan_month) / ((1 + month_rate) ** loan_month - 1)
        print('等额本息每月还款金额:',amount)
        # 每月利息计算
        for i in range(0,loan_month):
            #每月还款利息
            interest = loan_amount * month_rate
            print(f'第{i+1}期还款利息:', interest)
            #累加还款利息
            total_interest += interest
            #每月还款本金
            principal = amount - interest
            print(f'第{i+1}期还款本金:',principal)
            #还款本金每月递减
            loan_amount -= principal
        print("等额本息还款总利息:",total_interest)
if __name__ == '__main__':
    cl = LoanCalculator()
    cl.average_capital(loan_amount=500000,loan_years=20,rate_year=5.9)
    cl.equality_corp(loan_amount=500000,loan_years=20,rate_year=5.9)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用JavaScript编写一个简单的房贷计算器。以下是等额本息等额本金计算的示例代码: 等额本息计算: ```javascript function calculateEqualPrincipalAndInterest(totalAmount, years, rate) { var monthlyRate = rate / 12; var totalMonths = years * 12; var monthlyPayment = totalAmount * monthlyRate * Math.pow(1 + monthlyRate, totalMonths) / (Math.pow(1 + monthlyRate, totalMonths) - 1); var totalPayment = monthlyPayment * totalMonths; var interest = totalPayment - totalAmount; return { monthlyPayment: monthlyPayment.toFixed(2), totalPayment: totalPayment.toFixed(2), interest: interest.toFixed(2) }; } ``` 等额本金计算: ```javascript function calculateEqualPrincipal(totalAmount, years, rate) { var monthlyRate = rate / 12; var totalMonths = years * 12; var principalPerMonth = totalAmount / totalMonths; var totalInterest = 0; var monthlyPayments = []; for (var i = 0; i < totalMonths; i++) { var interest = (totalAmount - i * principalPerMonth) * monthlyRate; var monthlyPayment = principalPerMonth + interest; totalInterest += interest; monthlyPayments.push(monthlyPayment.toFixed(2)); } var totalPayment = totalAmount + totalInterest; return { monthlyPayments: monthlyPayments, totalPayment: totalPayment.toFixed(2), totalInterest: totalInterest.toFixed(2) }; } ``` 使用这些函数,你可以在网页上创建一个表单,让用户输入房贷金额、贷款期限和利率,并根据用户选择的计算方式(等额本息等额本金)计算月供、总还款额和利息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值