按揭买房怎样划算——编一个本息计算软件
编程爱好者
按揭贷款是时下一种普遍受购房者欢迎的贷款方式,购房时准备贷款的客户如何选择适合自己的住房按揭贷款呢?还款方式主要有两种:
第一种是等额本息还款法,也称等额还款法,优点在于借款人可以准确掌握每月的还款额,有计划地安排每月的家庭收支,缺点是利息支出总额相对较高,适合收入稳定的客户;
第二种是等额本金还款法,也称递减还款法,优点在于利息支出相对较少,每月还款额逐步递减,缺点是前期还款压力较大,适合目前收入较高或按等额还款法计算月还款额占家庭月收入的比例较小,但预期收入不确定的客户。
下面我们用数字来比较这两种方法的区别。
一、买房必须了解的专业术语
1.按揭成数
贷款总额=(按揭成数/10)×房价,并把最后三位置0。按揭成数的取值为1-9的自然数,比如房价为100000元,按揭成数为1,那么贷款总额为(1/10)×100000=10000元,如果房价为212400,按揭成数为1,那么贷款总额为(1/10)×212400=21240,百位、十位、个位的值置0,实际贷款总额为21000元。
2.按揭期数
一期为一个月,如按揭期数为120期,则表示十年还完贷款。
3.首期付款
首期付款=房款总额-贷款总额,其中房款总额=每平米单价×面积。
下面我们用Delphi7.0来设计一个程序,看看等额还款法与递减还款法的利息到底相差多大,启动Delphi7.0,新建一个项目,主界面如图:

基本资料栏里需要输入购房者购买的房屋的单价、面积、按揭成数和按揭期数。当然如果购房者看中了一套房屋后,其单价和面积最终是一个定值,进行贷款计算时这两个值是常数,而按揭成数和按揭期数购房者可以根据实际情况自由改变。
程序界面左边为等额法的各类参数的计算结果,右边为递减法的各类参数的计算结果,分别按下两个按钮就可以比较出两种还款方式的具体数据了。
假设房价为1150元/平米,面积为110平米,按揭成数为4成,按揭期数为120期,月利率为0.0042。定义全局变量:
Percent:integer;//按揭成数
Period:integer;//按揭期数
Price:double;//单价
Area:double;//面积
二、等额还款法
按钮“等额法”的OnClick事件定义变量:
var
yn:double;// (1+月利率)还款月数
li:double;//利率
amount:double;//总额
LendNum:longint;//贷款总额
tmpLendNum:double;//贷款总额中间值
PayMonth:double;//月均付款
RerurnM:double;//还款总额
Accrual:double;//利息总额
begin
li:=0.0042;
Price:=strTofloat(edtPrice.text); //单价
Area:=strTofloat(edtArea.text); //面积
Percent:=strToint(edtPercent.text); //按揭成数
Period:=strToint(edtPeriod.text); //按揭期数
amount:=Price*Area; //房款总额
tmpLendNum:=(Percent*amount)/10;
LendNum:=Trunc(tmpLendNum)-(Trunc(tmpLendNum) mod 1000); //贷款总额
Edit5.text:=(formatfloat('0.00',amount)); //房款总额
Edit6.text:=(formatfloat('0.00',LendNum
)); //贷款总额
Edit7.Text:=(formatfloat('0.00',amount-LendNum)); //首期付款
yn:=1;
for Period:=1 to Period do
begin
yn:=yn*(1+li);
end;
PayMonth:=LendNum*li*(yn/(yn-1));
Edit8.Text:=(formatfloat('0.00',PayMont
h)); //月均付款
RerurnM:=PayMonth*Period+(amount-LendNum);
Edit10.Text:=(formatfloat('0.00',Rerurn
M)); //还款总额
Accrual:=RerurnM-LendNum-(amount
-LendNum);
Edit9.Text:=(formatfloat('0.00',Accrual)
); //利息总额
end;
1.房款总额=单价×面积
此例:amount=1150×110=126500元
2.贷款总额LendNum的算法为:
(1)tmpLendNum=房款总额×成数/10
(2)贷款总额=tmpLendNum-(tmpLend
Num mod 1000)
此例:tmpLendNum=126500×4/10=50600
LendNum=50600-(50600 mod 1000)=50600-600=50000元
3.首期付款=房款总额-贷款总额
此例:首期付款=126500-50000=76500元
4.月均付款PayMonth的计算公式为:
[贷款总额×月利率×(1+月利率)按揭期数]÷[(1+月利率)按揭期数-1]
此例:PayMonth=(50000×0.0042×(1+0.0042)120)/((1+0.0042)120-1)=531.31元
5.还款总额=月均付款×按揭期数+首期付款
此例:RerurnM=531.31*120+76500=140257元
6.利息总额=还款总额-贷款总额-首期付款
此例:Accrual=140257-50000-76500=13756元
三、递减还款法
按钮“递减法”的OnClick事件定义变量:
var
li:double; //利率
sum,i:integer;
amount:double;//总额
LendNum:longint;//贷款总额
tmpLendNum:double;//贷款总额中间值
FirstMouth:double;//第一个月
LastMouth:double;//最后一个月
RerurnM:double;//还款总额
Accrual:double;//利息总额
DescMouth:double;//每月递减
Begin
li:=0.0042;
Price:=strTofloat(edtPrice.text);
Area:=strTofloat(edtArea.text);
Percent:=strToint(edtPercent.text);
Period:=strToint(edtPeriod.text);
amount:=Price*Area;
tmpLendNum:=(Percent*amount)/10;
LendNum:=Trunc(tmpLendNum)-(Trunc(tmpLendNum) mod 1000);
Edit11.text:=(formatfloat('0.00',amount)
); //房款总额
Edit12.text:=(formatfloat('0.00',LendNum));//贷款总额
Edit13.Text:=(formatfloat('0.00',amount
-LendNum)); //首期付款
FirstMouth:=LendNum/Period+LendNu
m*li;
LastMouth:=LendNum/Period;
Edit16.Text:=(formatfloat('0.00',FirstMo
uth));//第一个月
Edit17.Text:=(formatfloat('0.00',LastMo
uth)); //最后一个月
DescMouth:=(FirstMouth-LastMouth)/Period;
Edit18.text:=(formatfloat('0.00',DescMo
uth)); //每月递减
RerurnM:=0;
sum:=0;
for i:=1 to Period do
begin
sum:=sum+i;
end;
Accrual:=sum*DescMouth;
Edit14.text:=(formatfloat('0.00',Accrual)
); //利息总额
RerurnM:=Accrual+LendNum+(amount
-LendNum);
Edit15.text:=(formatfloat('0.00',Rerurn
M)); //还款总额
End;
1.第一个月=贷款总额/按揭期数+贷款总额×0.0042
此例:FirstMouth=50000/120+50000*0.0042=626.67元
2.最后一个月=贷款总额/按揭期数
此例:LastMouth=50000/120=416.67元
3.每月递减=(第一个月-最后一个月)/按揭期数
此例:DescMouth=(626.67-416.67)/120=1.75
4.利息总额=(1+2+3+……+120)×每月递减
此例:Accrual=(1+120)*120/2*1.75=12705元
5.还款总额=利息总额+贷款总额+(房款总额-贷款总额)
此例:RerurnM=12705+50000+(126500-50000)=139205元
贷款时间15到20年最恰当。一个最基本的常识是,借款期限越长每月还款就越少,但总还款额必然上升。10万元贷款借10年,每月约需还1090元,还款总额约13万元;贷款借20年,每月约需还690元,还款总额约16.6万元。专家认为借款年限一般15到20年就足够了,对普通百姓而言,退休以后再承担较高还款压力,风险较大。以80万元20年期的房贷为例,用等额本金法还贷可以比等额本息法还贷少支付近7万元利息。
以上程序下载地址:http://www.cpcw.com/xz/33shenghuo.rar
此程序主要是向广大读者介绍了关于按揭买房的有关知识和准确的计算方法,在编程方面比较简单,只需要设计好窗体、文本框和按钮,在按钮的OnClick事件中直接按算法写代码即可。