美文网首页
房贷计算公式

房贷计算公式

作者: fangcaiwen | 来源:发表于2020-11-04 18:58 被阅读0次

话不多说,直接看效果:

1.月供明细图:

image.png

2.还贷款明细图

image.png

下面直接上代码

 
export class LoadHelper {
    // 贷款本金
    // let totalMoney;

    //  贷款月数
    // let month;

    //  贷款年利率
    // let yearRatio;

    //  贷款月利率
    // let monthRatio;

    // 起息日
    //let starData

    constructor(totalMoney, month, yearRatio, starData) {
        this.totalMoney = totalMoney;
        this.month = month;
        this.yearRatio = yearRatio;
        this.monthRatio = yearRatio / 12;
        this.starData = starData;
    }

    // 某个月的日利率
    dayRation(mDate) {
        let days = this.getCountDays(mDate);
        return this.monthRatio / days;
    }

    // 第n期月供明细
    getNPayDetail(n) {
        return {
            captial: this.getPayNMonthMoney(n),
            ration: this.getPayNMonthRation(n)
        };
    }

    // 每月应还本金 贷款本金*月利率*(1+月利率)^(还款月序号-1)/((1+月利率)^还款月数-1)
    getPayNMonthMoney(n) {
        return this.totalMoney * this.monthRatio * Math.pow((1 + this.monthRatio), (n - 1)) / (Math.pow((1 + this.monthRatio), this.month) - 1);
    }

    // 每月应还利息 贷款本金*月利率*[(1+月利率)^ 还款月数-(1+月利率)^(还款月序号-1)]/[(1+月利率)^还款月数-1]
    getPayNMonthRation(n) {
        if (n == 1) {
            // 第一期的月有多少天
            let days = this.getCountDays(this.starData);
            // 第一期用了多少天
            let useDays = days - new Date(this.starData).getDate() + 1;
            // 第一期的利息多少
            return useDays * this.dayRation(this.starData) * this.totalMoney;
        }
        return this.totalMoney * this.monthRatio * (Math.pow((1 + this.monthRatio), this.month) - Math.pow((1 + this.monthRatio), (n - 1))) / (Math.pow((1 + this.monthRatio), this.month) - 1);
    }


    // 月供计算器
    // 每月还款额=贷款本金×[月利率×(1+月利率) ^ 还款月数]÷{[(1+月利率) ^ 还款月数]-1}

    getMonthPay() {
        // 月利率
        let row = Math.pow(1 + this.monthRatio, this.month);
        let result = this.totalMoney * this.monthRatio * row / (row - 1);
        return result;
    }

    // 一共还了多少本金
    payTotalCapital(n) {
        let result = 0;
        for (let i = n; i > 0; i--) {
            result += this.getPayNMonthMoney(i);
        }
        return result;
    }

    // 一共还了多少利息
    payTotalRation(n) {
        let result = 0;
        for (let i = n; i > 0; i--) {
            result += this.getPayNMonthRation(i);
        }
        return result;
    }

    // 还剩多少本金未还
    needPayCaptial(n) {
        return this.totalMoney - this.payTotalCapital(n);
    }

    // 按日期查询还剩多少本金未还
    needPayCaptialByData(){
        let d = new Date(this.starData);
        let reduce = new Date().getTime()-d.getTime();
        let n =  Math.round(reduce/1000/3600/24/30);
        return this.needPayCaptial(n);
    }

    // 获取当月的天数
    getCountDays(mDate) {
        let curDate = new Date(mDate);
        /* 获取当前月份 */
        let curMonth = curDate.getMonth();
        /*  生成实际的月份: 由于curMonth会比实际月份小1, 故需加1 */
        curDate.setMonth(curMonth + 1);
        /* 将日期设置为0, 这里为什么要这样设置, 我不知道原因, 这是从网上学来的 */
        curDate.setDate(0);
        /* 返回当月的天数 */
        return curDate.getDate();
    }
}

使用

this.lodaClass = new LoadHelper(410000,360,0.0539,"2018-04-27");

相关文章

  • 房贷计算公式

    话不多说,直接看效果: 1.月供明细图: 2.还贷款明细图 下面直接上代码 使用

  • 房贷利率计算公式推导

    等额本息 等额本息每个月月供一样, 还款本金逐渐上升, 还款利息主键下降,下面是计算公式: 假设以下几个符号:n:...

  • 纺织基础知识大全

    01 纺织常用计算公式分为 定长制计算公式和定重制计算公式二种。 1、定长制计算公式: (1)、旦尼尔(D):D=...

  • 计算cell block的面积

    Density 计算公式: Density 又称Utilization, 计算公式如下。 leaf cell 面积...

  • 第二十天 课堂笔记 3-27

    磁盘相关知识 磁盘计算公式:

  • 房贷

    [机智]【一个关于房子的故事】 1、外地房产能贷吗? 可以 2、刚刚按揭房能贷吗? 可以 3、...

  • 房贷

    老公工资正好够还房贷,目前正吃存款。 我怀孕待产在家,为房贷夜不能寐。 尽管买下房子了,生活依然艰难,压力山大,以...

  • 房贷

    买了房,背上了房贷。每月赚的钱给了银行,工作的意义呢

  • 房贷

    房贷如鲸噎在喉,吞吐不得使人愁。 日日盼望工资日,时时担心还款时。 可爱工资刚到手,心忧逾期急转走。 悠悠房贷期几...

  • 房贷

    今天偶然得知朋友小A每个月房贷一万,房子地段一般,配套一般,每个月小A 的工资还房贷,老公的工资供家里日常开销,两...

网友评论

      本文标题:房贷计算公式

      本文链接:https://www.haomeiwen.com/subject/dqtnvktx.html