debx();  

    function debx()
{
$dkm = 240; //贷款月数,20年就是240个月
$dkTotal = 10000; //贷款总额
$dknl = 0.0515; //贷款年利率
$emTotal = $dkTotal * $dknl / 12 * pow(1 + $dknl / 12, $dkm) / (pow(1 + $dknl / 12, $dkm) - 1); //每月还款金额
$lxTotal = 0; //总利息
for ($i = 0; $i < $dkm; $i++) {
$lx = $dkTotal * $dknl / 12; //每月还款利息
$em = $emTotal - $lx; //每月还款本金
echo "第" . ($i + 1) . "期", " 本金:", $em, " 利息:" . $lx, " 总额:" . $emTotal, "<br />";
$dkTotal = $dkTotal - $em;
$lxTotal = $lxTotal + $lx;
}
echo "总利息:" . $lxTotal;
} function debj()
{
$dkm = 240; //贷款月数,20年就是240个月
$dkTotal = 10000; //贷款总额
$dknl = 0.0515; //贷款年利率 $em = $dkTotal / $dkm; //每个月还款本金
$lxTotal = 0; //总利息
for ($i = 0; $i < $dkm; $i++) {
$lx = $dkTotal * $dknl / 12; //每月还款利息
echo "第" . ($i + 1) . "期", " 本金:", $em, " 利息:" . $lx, " 总额:" . ($em + $lx), "<br />";
$dkTotal -= $em;
$lxTotal = $lxTotal + $lx;
}
echo "总利息:" . $lxTotal;
} exit;

JS

define(function(require, exports, module) {
require('jquery');
alertM = require('alert');
require('househighcharts'); //15年3月1日利率
/*var lilv_array = new Array;
lilv_array[31] = new Array;
lilv_array[31][1] = new Array;
lilv_array[31][2] = new Array;
lilv_array[31][1][5] = 0.0575;//商贷 1~5年 5.75%
lilv_array[31][1][10] = 0.0590;//商贷 5-30年 5.9%
lilv_array[31][2][5] = 0.0350;//公积金 1~5年 3.5%
lilv_array[31][2][10] = 0.0400;//公积金 5-30年 4.0%*/ var lilv_array = new Array;
lilv_array[31] = new Array;
lilv_array[31][1] = new Array;
lilv_array[31][2] = new Array;
lilv_array[31][1][5] = 0.069;//商贷 1~5年 5.75%
lilv_array[31][1][10] = 0.0705;//商贷 5-30年 5.9%
lilv_array[31][2][5] = 0.0350;//公积金 1~5年 3.5%
lilv_array[31][2][10] = 0.0400;//公积金 5-30年 4.0% //弹出下拉框
$(".xf-select").click(function(){
$(".xf-select").css({zIndex:1});
$(".xf-select ul").hide();
$(this).css({zIndex:999});
if($("ul",this).is(":visible")){
$("ul",this).hide();
}else{
$("ul",this).show();
}
return false;
}); $("body").click(function(){$(".xf-select ul").hide();}); var junjia,zongjia,anjie,daikuan,shoufu; //下拉框选项单击事件
$(".xf-select ul li").mouseenter(function(){
$(this).addClass("on");
}).mouseleave(function(){
$(this).removeClass("on");
}).click(function(){
$(this).parent().prev().find("span").text($(this).text());
$(this).parent().prev().find("input").val($(this).data("code"));
$(this).parent().hide(); //贷款总额
junjia = $("#zongjia").data("junjia");
zongjia = Math.round($("#housetype").val() * junjia / 10000);
anjie = $("#val_loanratio").val(); //填充总价格
$("#label_price").html("<p><strong>"+ zongjia +"</strong>万元<span>(均价<em>"+ junjia +"</em>元/m²)</span></p>"); daikuan = Math.round(anjie/100*zongjia);
shoufu = zongjia - daikuan; $("#label_totalprice").html("(贷款总额"+daikuan+"万)"); if($("#val_loantype").val() == 3){
$("#content_scale").removeClass("none");
}else{
$("#content_scale").addClass("none");
}
return false;
}); //本息还款的月还款额(参数: 年利率/贷款总额/贷款总月份)
function getMonthMoney(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 );
} //验证是否为数字
function reg_Num(str){
if (str.length==0){return false;}
var Letters = "1234567890."; for (i=0;i<str.length;i++){
var CheckChar = str.charAt(i);
if (Letters.indexOf(CheckChar) == -1){return false;}
}
return true;
} function jisuan(){
junjia = $("#zongjia").data("junjia");
zongjia = Math.round($("#housetype").val() * junjia / 10000);
anjie = $("#val_loanratio").val(); //填充总价格
$("#label_price").html("<p><strong>"+ zongjia +"</strong>万元<span>(均价<em>"+ junjia +"</em>元/m²)</span></p>"); daikuan = Math.round(anjie/100*zongjia);
shoufu = zongjia - daikuan; //商业贷款、住房公积金贷款、组合贷款
var loantype = $("#val_loantype").val(); //贷款年数,5年 | 5年以上
var years = $("#val_loanmonth").val() < 5 ? 5 : 10; //还款期数
var month = $("#val_loanmonth").val() * 12; var yuehuankuan,lixi;
if(loantype < 3){
//商业&公积金贷款 //月还款
yuehuankuan = Math.round(getMonthMoney(lilv_array[31][loantype][years],daikuan,month)*10000); //月还款 //应还利息
lixi = Math.round(yuehuankuan * month / 10000 - daikuan);
}else{
//组合贷款 var lilv_sd = lilv_array[31][1][years]; //得到商贷利率
var lilv_gjj = lilv_array[31][2][years]; //得到公积金利率 var daikuan_sy = $("#val_loanbussiness").val(); //商业性贷款总额
var daikuan_gjj = $("#val_loanfund").val(); //公积金贷款总额 if(daikuan_gjj == ""){
$("#gjjtip").removeClass("none");
return;
}else if(daikuan_sy == ""){
$("#sdtip").removeClass("none");
return;
}else if(!reg_Num(daikuan_sy) || !reg_Num(daikuan_gjj)){
alertM("贷款金额必须为数字",{cName: "error"});
return;
} //金额错误 if(parseInt(daikuan_sy)+parseInt(daikuan_gjj) != daikuan){
$("#gjjtip span").text("总金额错误").removeClass("none");
$("#sdtip span").addClass("none");
$("#gjjtip").removeClass("none");
return;
}else{
$("#gjjtip span").addClass("none");
} //月还款
var month_money = getMonthMoney(lilv_sd,daikuan_sy,month) + getMonthMoney(lilv_gjj,daikuan_gjj,month);//调用函数计算
yuehuankuan = Math.round(month_money*10000); //还款总额
var all_total1 = month_money * month;
//支付利息款
lixi = Math.round(all_total1 - daikuan);
} //填充内容
$(".price").text(yuehuankuan);
$(".legend-pay span").html("参考首付:"+shoufu+"万("+(100-anjie)/10+"成)");
$(".legend-price span").html("贷款金额:"+daikuan+"万("+(anjie/10)+"成)");
$(".legend-rate span").html("支付利息:"+lixi+"万");
$(".legend-rate span").html("支付利息:"+lixi+"万<em><br>(利率公积金"+Math.round(lilv_array[31][2][years]*10000)/100+"%,商业性"+Math.round(lilv_array[31][1][years]*10000)/100+"%)</em>"); //初始化圆饼图
initPie(shoufu,daikuan,lixi);
} //初始化
jisuan(); //开始计算按钮
$("#btn_startup").click(function(){
jisuan();
}); //初始化统计图
function initPie(shoufu,daikuan,lixi){
var arrPieData = [{name: "参考首付",y: shoufu,events: {mouseOver: function() {
$(".legend-pay").addClass("on")
},mouseOut: function() {
$(".legend-pay").removeClass("on")
}}}, {name: "贷款金额",y: daikuan,events: {mouseOver: function() {
$(".legend-price").addClass("on")
},mouseOut: function() {
$(".legend-price").removeClass("on")
}}}, {name: "支付利息",y:lixi,events: {mouseOver: function() {
$(".legend-rate").addClass("on")
},mouseOut: function() {
$(".legend-rate").removeClass("on")
}}}]; var a = new Highcharts.Chart({
colors: ["#2F69BF", "#A2BF2F", "#BF5A2F"],
chart: {
type: "pie",
renderTo: "result-charts",
backgroundColor: "#f9f9f9"
},
title: {
text: " ",
},
credits: {
enabled: false
},
tooltip: {
enabled: false
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: "pointer",
borderWidth: 1,
dataLabels: {
enabled: false
},
innerSize: "40%",
shadow: false
}
},
series: [{
type: "pie",
data: arrPieData
}]
});
} });

PHP房贷计算器代码,等额本息,等额本金的更多相关文章

  1. java 等额本金与等额本息

    等额本金与等额本息 等本等息的意思是,每月的本金相等,利息也相等. 等额本息的意思是,每月的本金+利息之和相等(其实每个月本金和利息都有变化,并不相等) 等本等息的意思是,每月的本金相等,利息不等. ...

  2. 写一个MySql存储过程实现房贷等额本息还款计算(另外附javascript代码)

    写一个MySql存储过程实现房贷等额本息还款计算 MySql存储过程代码如下: DROP procedure IF EXISTS `calc_equal_interest_proc`; DELIMIT ...

  3. C# 房贷计算器

    设计背景 百度小程序中的房贷计算器不能满足我个人的需求,故而开发一个.NET小程序.希望后期能用JS重写,发布在网上供大家使用. 设计思路 根据百度公式:等额本息月还款 = [贷款本金×月利率×(1+ ...

  4. ★房贷计算器 APP

    一.目的 1. 这是一个蛮有用的小工具 2. 之前看了很多demo,第一次来完全的自己实现一个APP 3. 完成之后提交 App Store 4. 作为Good Coder的提交审核材料 二.排期 周 ...

  5. Android实战项目:房贷计算器

    APP源码已上传到我的GitHub:https://github.com/zdm-code/Android-learning/tree/master/android_learning/mortgage ...

  6. 纯js房贷计算器开源

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. JavaScript:综合案例---房贷计算器的实现

    房贷计算器的实现 (可以使用的编辑器:webStrom.subLime.notePad++.editPlus) 输入数据: 平方单价 70,000.00 元/平方  B1 租金 382.50 元/平方 ...

  8. 等额本息Vs等额本金

    1:贷款种类一旦选择不能改变.2:你提前还款的全部属于本金部分,若能一次性归还本金只需付清当月月息即可[不按年利率计算而是月利率],与你归还的本金违约金[设:提前还款10万*X.XXX%=违约金,具体 ...

  9. C#实现的等额本息法、按月付息到期还本法、一次性还本付息法

    你若懂行,那便有用,如下: void Main(){    var x = DengEBenXi.Compute(11111, 12, 3);    x.Dump();    var y = AnYu ...

随机推荐

  1. Struts中ActionContext和ServletActionContext的比较

    一.ActionContext在Struts2开发中除了将请求参数自动设置到Action的字段中,往往也需要在Action里直接获取请求(Request)或会话(Session)的一些信息,甚至需要直 ...

  2. css总结1:position定位:absolute/relative/fixed

    1 [Positioning(定位)] Positioning作用:指定了元素的定位类型.position包括四个值:static,relative,fixed,absolute. css定位解析:元 ...

  3. 转Delphi中XLSReadWrite控件的使用(3) 读和写Excel

    unit OpExcell; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Fo ...

  4. TypedValue.applyDimension的使用

    TypedValue.applyDimension是一个将各种单位的值转换为像素的方法 用法TypedValue.applyDimension(int unit, float value,Displa ...

  5. vue记住密码功能

    话不多说,直接上代码. html部分: <el-form :model="ruleForm2" :rules="rules2" ref="rul ...

  6. webform Response的一些成员

    1. Response.BufferOutPut,关闭缓冲区. 2. Response.Flush,一次性把缓冲区的内容释放出来. 3. Response.Clear,清空缓冲区. 4. Respon ...

  7. 精心收集的 48 个 JavaScript 代码片段,仅需 30 秒就可理解!(转载)

    Anagrams of string(带有重复项) 使用递归.对于给定字符串中的每个字母,为字母创建字谜.使用map()将字母与每部分字谜组合,然后使用reduce()将所有字谜组合到一个数组中,最基 ...

  8. IDEA开发javaEE项目问题总结

    删了删了,不瞎折腾了,用Maven嘛事没有 注意在idea中,add framework后还需要在maven中添加相关依赖

  9. 【转载】Java资源大全中文版

    Java资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-java 就是 akullpp 发起维护的 Java 资源列表,内容 ...

  10. 洛谷P2774 方格取数问题(最小割)

    传送门 考虑一下,答案就是全局和减去舍弃和 不难发现,如果我们按行数+列数的奇偶性分为两类,那么每一类中的数必然互不相邻 那么我们把原图的点分为黑点和白点两类,原地向白点连边,黑点向汇点连边,容量为点 ...