今儿个心血来潮,想搞个等额本息计算器,琢磨着以后买房也能用得上,说干就干!
准备工作
我得知道等额本息是个啥玩意儿,咋算的。上网一搜,公式就出来:
每月还款额 = [贷款本金 × 月利率 × (1 + 月利率) ^ 还款月数] ÷ [(1 + 月利率) ^ 还款月数 - 1]
看着挺复杂,把每个词儿弄明白就简单。贷款本金就是借多少钱,月利率就是年利率除以12,还款月数就是多少个月还清。
开工写代码
我平时就喜欢捣鼓点代码,这回准备用我熟悉的JavaScript来写。先搭个架子:

function calculate(principal, annualRate, months) {
// 这里写计算过程
principal就是贷款本金,annualRate是年利率,months是还款月数。我开始往里面填东西:
function calculate(principal, annualRate, months) {
const monthlyRate = annualRate / 12 / 100; // 把年利率换成月利率,再变成小数
const numerator = principal monthlyRate *(1 + monthlyRate, months); // 分子
const denominator = *(1 + monthlyRate, months) - 1; // 分母

const monthlyPayment = numerator / denominator; // 每月还款额
return *(2); // 保留两位小数
- monthlyRate: 先把年利率除以12,得到月利率。为计算方便,我再除以100,把它变成小数。
- 这个是JavaScript里算次方用的,比如*(2, 3)就是2的3次方,等于8。
- numerator 和 denominator: 我把公式拆成分子和分母,这样看着清楚点。
- toFixed(2): 这个是保留两位小数,毕竟钱的事儿,分分厘厘得算清楚。
测试一下
写完代码,我得试试好不好使。假设贷款100万,年利率5%,分30年还清:
const payment = calculate(1000000, 5, 360);
*(payment); // 输出结果
跑起来一看,结果是5368.22。我再用网上的计算器算一下,一模一样!看来我的代码没问题。
总结
这回折腾等额本息计算器,还挺有意思的。把一个看着复杂的公式,一步步拆解,再用代码实现出来,感觉挺有成就感。以后买房的时候,也能自己算算账,心里更有数!
还没有评论,来说两句吧...