コンテンツへスキップ
🛠️ToolsShed

クレジットカード返済計算ツール

クレジットカードの借金を返済するのにかかる期間と総利息を計算します。

最低支払い: max(残高の2%, $25)

目標返済期間

このツールについて

クレジットカード返済計算機は、残高を抱え続けることの真の経済的負担を理解し、借金のない状態へ向かう現実的な計画を立てるのに役立ちます。現在の残高、金利、毎月の返済予定額を入力すると、完全に返済されるまでの正確な月数と、その過程で支払う総利息が表示されます。クレジットカードの利息は毎日複利されるため、適切な計画がないと返済期間がどれくらいになるかを過小評価してしまいます。

計算機を使うには、クレジットカードの残高、年利(APR)、毎月の返済予定額を入力するだけです。ツールはすぐに返済スケジュールを生成し、毎月の残高減少と累積利息を表示します。これにより、毎月の返済額を増やして利息を節約すべきか、それとも現在の返済戦略があなたの予算の範囲で現実的であるかを判断できます。多くの人は毎月の返済額を20~50ドル増やすだけで数千ドルの節約が可能であることに気づきます。

このツールは複数のクレジットカード残高を抱えている人に特に役立ちます。各カードを個別に計算し、どのカードを優先的に返済するかを決めることができます。返済時間を理解することは、返済を加速させるモチベーションになり、ゼロ残高に向かう過程で新たな借金を増やさないようにするのに役立ちます。この計算は固定金利と一貫した毎月の返済を前提としていることに注意してください。発行会社が金利を変更したり、返済を遅延したりした場合、実際の返済時間は異なる可能性があります。

よくある質問

コード実装

def payoff_simulation(balance, annual_rate, monthly_payment):
    """
    Simulate credit card payoff month by month.

    Parameters:
        balance         - current balance owed
        annual_rate     - annual interest rate (e.g. 0.20 for 20%)
        monthly_payment - fixed payment made each month

    Returns dict with months, total_paid, and total_interest.
    """
    monthly_rate  = annual_rate / 12
    months        = 0
    total_paid    = 0.0
    total_interest = 0.0

    while balance > 0:
        interest   = balance * monthly_rate
        total_interest += interest
        balance   += interest
        payment    = min(monthly_payment, balance)
        balance   -= payment
        total_paid += payment
        months    += 1
        if months > 1200:          # safety cap (100 years)
            break

    return {
        "months":         months,
        "total_paid":     total_paid,
        "total_interest": total_interest,
    }


def required_payment(balance, annual_rate, months):
    """
    Calculate fixed monthly payment to clear a balance in exactly N months.
    Standard amortization formula: M = P * r / (1 - (1+r)^-n)
    """
    r = annual_rate / 12
    if r == 0:
        return balance / months
    return balance * r / (1 - (1 + r) ** -months)


def min_payment(balance, min_percent=0.02, min_floor=25.0):
    """Return the minimum payment (2% of balance, at least $25)."""
    return max(balance * min_percent, min_floor)


# Example: $5,000 balance at 20% APR, paying $150/month
result = payoff_simulation(5000, 0.20, 150)
print(f"Months to pay off:  {result['months']}")
print(f"Total paid:         ${result['total_paid']:,.2f}")
print(f"Total interest:     ${result['total_interest']:,.2f}")

# Required payment to pay off in 24 months
payment = required_payment(5000, 0.20, 24)
print(f"\nRequired for 24 months: ${payment:,.2f}/mo")

# Minimum payment scenario
mp = min_payment(5000)
mp_result = payoff_simulation(5000, 0.20, mp)
print(f"Minimum payment (${mp:.2f}/mo) takes {mp_result['months']} months")

Comments & Feedback

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