跳到内容
🛠️ToolsShed

Student Loan Calculator

计算学生贷款的月付款、总利息和摊销时间表。

关于此工具

学生贷款计算器向你展示为教育借款的真实成本,而不仅仅是你借到的金额。它把本金、利率和期限换算成每月还款额和利息总额,揭示这笔贷款实际花费多少,以及需要多久才能还清。

输入贷款金额、年利率和还款期限,即可读取每月还款额、所支付的利息总额以及还清时间表。它适合用来比较不同贷款方案、制定切实可行的预算,以及判断是否值得提前多还。

哪怕利率只有微小差异,或每月多还一点,都能在整个贷款期内明显减少你支付的利息总额。这些数字是用于规划的估算,而非贷款报价,所有计算均在你的浏览器中本地完成。

常见问题

代码实现

def calculate_student_loan(principal: float, annual_rate: float,
                             years: int) -> dict:
    """Calculate student loan monthly payment and total interest."""
    monthly_rate = annual_rate / 100 / 12
    n = years * 12

    if monthly_rate == 0:
        monthly_payment = principal / n
    else:
        monthly_payment = principal * (monthly_rate * (1 + monthly_rate) ** n) /                           ((1 + monthly_rate) ** n - 1)

    total_payment = monthly_payment * n
    total_interest = total_payment - principal

    return {
        "monthly_payment": round(monthly_payment, 2),
        "total_payment": round(total_payment, 2),
        "total_interest": round(total_interest, 2),
    }

def amortization_schedule(principal: float, annual_rate: float, years: int):
    """Generate full amortization schedule."""
    monthly_rate = annual_rate / 100 / 12
    n = years * 12
    payment = calculate_student_loan(principal, annual_rate, years)["monthly_payment"]
    balance = principal
    for month in range(1, n + 1):
        interest = balance * monthly_rate
        principal_part = payment - interest
        balance -= principal_part
        yield {
            "month": month,
            "payment": round(payment, 2),
            "principal": round(principal_part, 2),
            "interest": round(interest, 2),
            "balance": round(max(balance, 0), 2),
        }

# Example: $30,000 loan at 5.5% over 10 years
result = calculate_student_loan(30000, 5.5, 10)
print(f"Monthly Payment: ${result['monthly_payment']}")
print(f"Total Payment: ${result['total_payment']}")
print(f"Total Interest: ${result['total_interest']}")

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.