房贷计算器(源于新浪乐居)

因为用到 所以记录

房贷计算器:

效果图



 



 

新浪乐居图:



 

其中的计算公式按照新浪乐居的js代码进行计算,公式如下:

公共方法:

//本金还款的月还款额(参数: 年利率 / 贷款总额 / 贷款总月份 / 贷款当前月0~length-1)
function getMonthMoney2(lilv, total, month, cur_month){
    var lilv_month = lilv / 12;//月利率
    //return total * lilv_month * Math.pow(1 + lilv_month, month) / ( Math.pow(1 + lilv_month, month) -1 );
    var benjin_money = total / month;
    return (total - benjin_money * cur_month) * lilv_month + benjin_money;
    
}


//本息还款的月还款额(参数: 年利率/贷款总额/贷款总月份)
function getMonthMoney1(lilv, total, month){
    var lilv_month = lilv / 12;//月利率
    return total * lilv_month * Math.pow(1 + lilv_month, month) / (Math.pow(1 + lilv_month, month) - 1);
}

 1、等额本息

       (1)公积金/商业贷款

//2.本息还款
        //月均还款
        var month_money1 = getMonthMoney1(lilv, daikuan_total, month);//调用函数计算
        fmobj.month_money1.value = Math.round(month_money1 * 100) / 100 + "(元)";
        //还款总额
        var all_total1 = month_money1 * month;
        fmobj.all_total1.value = Math.round(all_total1 * 100) / 100;
        //支付利息款
        fmobj.accrual1.value = Math.round((all_total1 - daikuan_total) * 100) / 100;

       (2)混合贷款

//2.本息还款
        //月均还款
        var month_money1 = getMonthMoney1(lilv_sd, total_sy, month) + getMonthMoney1(lilv_gjj, total_gjj, month);//调用函数计算
        fmobj.month_money1.value = Math.round(month_money1 * 100) / 100 + "(元)";
        //还款总额
        var all_total1 = month_money1 * month;
        fmobj.all_total1.value = Math.round(all_total1 * 100) / 100;
        //支付利息款
        fmobj.accrual1.value = Math.round((all_total1 - daikuan_total) * 100) / 100;

  2、等额本金

       (1)公积金/商业贷款

//1.本金还款
        //月还款
        var all_total2 = 0;
        var month_money2 = "";
        for (j = 0; j < month; j++) {
            //调用函数计算: 本金月还款额
            huankuan = getMonthMoney2(lilv, daikuan_total, month, j);
            all_total2 += huankuan;
            huankuan = Math.round(huankuan * 100) / 100;
            //fmobj.month_money2.options[j] = new Option( (j+1) +"月," + huankuan + "(元)", huankuan);
            month_money2 += (j + 1) + "月," + huankuan + "(元)\n";
        }
        fmobj.month_money2.value = month_money2;
        //还款总额
        fmobj.all_total2.value = Math.round(all_total2 * 100) / 100;
        //支付利息款
        fmobj.accrual2.value = Math.round((all_total2 - daikuan_total) * 100) / 100;

       (2)混合贷款

        

for (j = 0; j < month; j++) {
            //调用函数计算: 本金月还款额
            huankuan = getMonthMoney2(lilv_sd, total_sy, month, j) + getMonthMoney2(lilv_gjj, total_gjj, month, j);
            all_total2 += huankuan;
            huankuan = Math.round(huankuan * 100) / 100;
            //fmobj.month_money2.options[j] = new Option( (j+1) +"月," + huankuan + "(元)", huankuan);
            month_money2 += (j + 1) + "月," + huankuan + "(元)\n";
        }
        fmobj.month_money2.value = month_money2;
        //还款总额
        fmobj.all_total2.value = Math.round(all_total2 * 100) / 100;
        //支付利息款
        fmobj.accrual2.value = Math.round((all_total2 - daikuan_total) * 100) / 100;

猜你喜欢

转载自chenmodeyu126.iteye.com/blog/1944109
今日推荐