赞
踩
可以输出每种贷款方式还款汇总信息和每一期的还款明细。
网上大多只有一个计算器,或者只计算还款总额,还款方式也不全。
等额本息、等额本金还款方式借用的某位博主的代码,链接找不到了。
- // 先息后本
- function xxhb(year_lilv, money, month) {
- money = money * 10000;
- var objArray = new Array();
- var interestM = 0; // 月还款额
- var interestTotal = 0; // 累计还款总额
- var chbj = 0; // 每月偿还本金0 最后一个月偿还全部本金
- var lxze = money * year_lilv / 12 * 0.01 * month; // 利息总额
- for (var i = 1; i <= month; i++) {
- var t1 = lxze / month; //第i月还款利息
- interestM = t1; //第i月还款额 = 每月偿还利息 最后一个月还款额 = 每月利息 + 贷款本金
- if (i == month) { // 最后一个月
- chbj = money; //
- interestM = t1 + money;
- }
- objArray[i - 1] = new Array();
- objArray[i - 1]['qc'] = i; //期次
- objArray[i - 1]['chbx'] = (interestM).toFixed(2); //第i个月,偿还本息(元) 月供
- objArray[i - 1]['chlx'] = (interestM - chbj).toFixed(2); //第i个月,偿还利息(元)
- objArray[i - 1]['chbj'] = (chbj).toFixed(2); //第i个月,偿还本金(元)
- objArray[i - 1]['sybj'] = (money - (chbj * i)).toFixed(2); //第i个月,剩余本金(元)
- interestTotal = interestTotal + interestM;
- }
-
- interestTotal = (Math.round(interestTotal * 100)) / 100; //累计还款总额
- var yg = objArray[0]['chbx']; //月供 最高月供
- var ljhkze = interestTotal; //累计还款总额
-
- var resArray = new Array();
- resArray['list_res'] = new Array(); //列表信息数组
- resArray['list_res'] = objArray;
- resArray['simp_res'] = new Array(); //基础信息数组
- resArray['simp_res']['yg'] = parseFloat(yg).toFixed(0);
- resArray['simp_res']['ljhkze'] = parseFloat(ljhkze).toFixed(0);
- resArray['simp_res']['lxze'] = parseFloat(lxze).toFixed(0);
-
- return resArray;
- }

- // 等本等息
- function dbdx(year_lilv, money, month) {
- money = money * 10000;
- var objArray = new Array();
- var interestM = 0; // 月还款额
- var interestTotal = 0; // 累计还款总额
- var chbj = money / month; // 每月偿还本金 = 贷款金额 除以 月份
- var lxze = money * year_lilv / 12 * 0.01 * month; // 利息总额
- for (var i = 1; i <= month; i++) {
- var t1 = lxze / month; //第i月还款利息
- interestM = chbj + t1; //第i月还款额 = 每月偿还利息 + 每月偿还本金
- objArray[i - 1] = new Array();
- objArray[i - 1]['qc'] = i; //期次
- objArray[i - 1]['chbx'] = (interestM).toFixed(2); //第i个月,偿还本息(元) 月供
- objArray[i - 1]['chlx'] = (interestM - chbj).toFixed(2); //第i个月,偿还利息(元)
- objArray[i - 1]['chbj'] = (chbj).toFixed(2); //第i个月,偿还本金(元)
- objArray[i - 1]['sybj'] = (money - (chbj * i)).toFixed(2); //第i个月,剩余本金(元)
- interestTotal = interestTotal + interestM;
- }
-
- interestTotal = (Math.round(interestTotal * 100)) / 100; //累计还款总额
- var yg = objArray[0]['chbx']; //月供 最高月供
- var ljhkze = interestTotal; //累计还款总额
-
- var resArray = new Array();
- resArray['list_res'] = new Array(); //列表信息数组
- resArray['list_res'] = objArray;
- resArray['simp_res'] = new Array(); //基础信息数组
- resArray['simp_res']['yg'] = parseFloat(yg).toFixed(0);
- resArray['simp_res']['ljhkze'] = parseFloat(ljhkze).toFixed(0);
- resArray['simp_res']['lxze'] = parseFloat(lxze).toFixed(0);
-
- return resArray;
- }

- // 等额本金
- function debj(year_lilv, money, month) {
- money = money * 10000;
-
- var active = year_lilv * 10 / 12 * 0.001;
- var objArray = new Array();
- var interestM = 0; //月还款额
- var interestTotal = 0; //累计还款总额
- var chbj = money / month; //每月偿还本金(元) month 3年36
- for (var i = 1; i <= month; i++) {
- var t1 = (money - money * (i - 1) / month) * active; //第i月还款利息
- interestM = money / month + t1; //第i月还款额
- objArray[i - 1] = new Array(); //声明二维,每一个一维数组里面的一个元素都是一个数组;
- objArray[i - 1]['qc'] = i; //期次
- objArray[i - 1]['chbx'] = (interestM).toFixed(2); //第i个月,偿还本息(元) 月供
- objArray[i - 1]['chlx'] = (interestM - chbj).toFixed(2); //第i个月,偿还利息(元)
- objArray[i - 1]['chbj'] = (chbj).toFixed(2); //第i个月,偿还本金(元)
- objArray[i - 1]['sybj'] = (money - (chbj * i)).toFixed(2); //第i个月,剩余本金(元)
- if (objArray[i - 1]['sybj'] <= 1) { //最后一个月出现小于1元的值
- objArray[i - 1]['sybj'] = 0.00; //第i个月,剩余本金(元)
- }
- interestTotal = interestTotal + interestM;
- }
- interestTotal = (Math.round(interestTotal * 100)) / 100; //累计还款总额
- var yg = objArray[0]['chbx']; //月供 最高月供
- var ljhkze = interestTotal; //累计还款总额
- var lxze = (ljhkze - money); //利息总额
- lxze = lxze.toFixed(0);
- var yxxdy = (parseFloat(objArray[0]['chbx']) + parseFloat(objArray[month - 1]['chbx'])); //月薪需大于
- yxxdy = yxxdy.toFixed(0);
- var resArray = new Array();
- resArray['simp_res'] = new Array(); //顶部基础信息数组
- resArray['list_res'] = new Array(); //底部列表信息数组
- resArray['simp_res']['yg'] = parseFloat(yg).toFixed(0);
- resArray['simp_res']['ljhkze'] = parseFloat(ljhkze).toFixed(0);
- resArray['simp_res']['lxze'] = parseFloat(lxze).toFixed(0);
- resArray['simp_res']['yxxdy'] = parseFloat(yxxdy).toFixed(0);
- resArray['list_res'] = objArray;
-
- return resArray;
- }

- // 等额本息
- function debx(year_lilv, money, month) {
- money = (money * 10000);
-
- var active = year_lilv * 10 / 12 * 0.001;
- var t1 = Math.pow(1 + active, month);
- var t2 = t1 - 1;
- var tmp = t1 / t2;
- var monthratio = active * tmp; //月利率
- var monthBack = (money * monthratio).toFixed(2); //每月支付本息
- year_lilv = year_lilv * 0.01; //百分比
- var yue_lilv = ((year_lilv / 12));
- var objArray = new Array(); //等额本息结果二维数组
- var ljch_bj = 0; //累积偿还本金
- var pre_sybj = 0; //上一个月剩余本金
- var i = 1;
- for (i = 1; i <= month; i++) { //等额本息
- objArray[i - 1] = new Array(); //声明二维,每一个一维数组里面的一个元素都是一个数组;
- objArray[i - 1]['qc'] = i; //期次
- objArray[i - 1]['chbx'] = monthBack; //第i个月,偿还本息(元) 月供
- if (i == 1) { //第一个月
- pre_sybj = money;
- } else {
- pre_sybj = objArray[i - 2]['sybj'];
- }
- objArray[i - 1]['chlx'] = (pre_sybj * yue_lilv).toFixed(2); //第i个月,偿还利息(元)每月付息额 =(贷款本金-已还清贷款本金)×月利率
- var chbj = (objArray[i - 1]['chbx'] - objArray[i - 1]['chlx']); //第i个月,偿还本金(元)
- objArray[i - 1]['chbj'] = chbj.toFixed(2);
- ljch_bj += chbj;
- var sybj = (money - ljch_bj);
- objArray[i - 1]['sybj'] = sybj.toFixed(2); //第i个月,剩余本金(元)
- if (sybj <= 1) { //最后一个月出现小于1元的值
- objArray[i - 1]['sybj'] = 0.00; //第i个月,剩余本金(元)
- }
- }
- var yg = monthBack; //月供
- var ljhkze = monthBack * month; //累计还款总额
- var lxze = ljhkze - money; //利息总额
- var yxxdy = monthBack * 2; //月薪需大于
- var resArray = new Array();
- resArray['simp_res'] = new Array(); //顶部基础信息数组
- resArray['list_res'] = new Array(); //底部列表信息数组
- resArray['simp_res']['yg'] = parseFloat(yg).toFixed(0);
- resArray['simp_res']['ljhkze'] = parseFloat(ljhkze).toFixed(0);
- resArray['simp_res']['lxze'] = parseFloat(lxze).toFixed(0);
- resArray['simp_res']['yxxdy'] = parseFloat(yxxdy).toFixed(0);
- resArray['list_res'] = objArray;
-
- return resArray;
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。