<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SIP Calculator</title>
<style>
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: #f4f7f6; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
.container { background: #fff; padding: 2rem; border-radius: 12px; box-shadow: 0 10px 25px rgba(0,0,0,0.1); width: 100%; max-width: 400px; }
h2 { color: #2c3e50; text-align: center; margin-bottom: 1.5rem; }
.input-group { margin-bottom: 1.2rem; }
label { display: block; margin-bottom: 0.5rem; color: #555; font-weight: 600; }
input { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 6px; box-sizing: border-box; font-size: 1rem; }
button { width: 100%; padding: 12px; background-color: #27ae60; color: white; border: none; border-radius: 6px; font-size: 1rem; font-weight: bold; cursor: pointer; transition: background 0.3s; }
button:hover { background-color: #219150; }
.result { margin-top: 1.5rem; padding: 1rem; background: #e8f5e9; border-radius: 6px; display: none; }
.result p { margin: 8px 0; color: #2e7d32; font-size: 0.95rem; }
.result span { font-weight: bold; float: right; }
</style>
</head>
<body>
<div class="container">
<h2>SIP Calculator</h2>
<div class="input-group">
<label>Monthly Investment ($)</label>
<input type="number" id="monthlyInv" placeholder="e.g. 500" value="500">
</div>
<div class="input-group">
<label>Expected Annual Return (%)</label>
<input type="number" id="annualRate" placeholder="e.g. 12" value="12">
</div>
<div class="input-group">
<label>Time Period (Years)</label>
<input type="number" id="years" placeholder="e.g. 10" value="10">
</div>
<button onclick="calculateSIP()">Calculate Wealth</button>
<div class="result" id="resultBox">
<p>Invested Amount: <span id="totalInvested">0</span></p>
<p>Estimated Returns: <span id="estReturns">0</span></p>
<p style="border-top: 1px solid #c8e6c9; padding-top: 8px;"><strong>Total Value: <span id="totalValue">0</span></strong></p>
</div>
</div>
<script>
function calculateSIP() {
const P = parseFloat(document.getElementById('monthlyInv').value);
const annualRate = parseFloat(document.getElementById('annualRate').value);
const years = parseFloat(document.getElementById('years').value);
// SIP Formula: FV = P × ({[1 + i]^n – 1} / i) × (1 + i)
// i = monthly rate, n = number of months
const i = (annualRate / 100) / 12;
const n = years * 12;
const totalValue = P * ((Math.pow(1 + i, n) - 1) / i) * (1 + i);
const investedAmount = P * n;
const returns = totalValue - investedAmount;
// Display results
document.getElementById('totalInvested').innerText = investedAmount.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('estReturns').innerText = returns.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('totalValue').innerText = totalValue.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resultBox').style.display = 'block';
}
</script>
</body>
</html>
Comments
Post a Comment