我正在尝试用 Ruby 构建一个摊销表来:
- 计算每月付款。
- 每月利息费用。
- 显示付款实际减少了多少贷款余额 (或您所欠的金额)。
- 该表显示了还清贷款的方式和时间。
- 计算任意次数的付款后欠多少钱。
- 比较贷款报价,了解每笔贷款需要支付多少利息等。
为了解决这个问题,我想创建两个空数组,一个数组将保存所有每月值,第二个数组将保存所有每月数组。
loan_amount = 250000
rate = 0.035
periods = 60
loan_time = 5 years
periods.times do |period|
# the monthly payment
monthly_payment = loan_amount *( (rate * ( 1 + rate)**periods) / ( ( 1 + rate )**periods - 1) )
end
如何减少 ruby 中的值? 例如我需要通过每月还款来减少loan_amount
最佳答案
如果您要在每次循环中计算付款,您还需要减少周期并保持欠款金额移动。像这样的事情:
periods.times do |period|
# the monthly payment
monthly_payment = loan_amount * ( (rate * ( 1 + rate)**periods) / ( ( 1 + rate )**periods - 1) )
periods -= 1
loan_amount = loan_amount * (1 + rate) - monthly_payment
end
您应该注意到,每月付款保持不变。您实际上可以在循环之前计算它,然后它看起来像这样:
# the monthly payment
monthly_payment = loan_amount * ( (rate * ( 1 + rate)**periods) / ( ( 1 + rate )**periods - 1) )
periods.times do |period|
loan_amount = loan_amount * (1 + rate) - monthly_payment
end
那么,loan_amount 将是每个月底所欠的金额。
如果付款看起来非常高,那是因为您的利率可能是年利率,并且可以除以 12。
关于ruby - 如何在 ruby 中建立摊销表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30305447/