「java等额本息计算」等额本息的本息和如何计算
本篇文章给大家谈谈java等额本息计算,以及等额本息的本息和如何计算对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
java 等额本息还款。这个应该怎么算?
import java.math.BigDecimal;
/**
* 银行还款计算
* @author cuiran
* @version TODO
*/
public class BankRefund {
/**
*
* 等额本金还款法【利息少,但前期还的多】
* @param totalMoeny 贷款总额
* @param rate 贷款商业利率
* @param year 贷款年限
*/
public static void principal(int totalMoney,double rate,int year){
/**
* 每月本金
*/
int totalMonth=year*12;
double monthPri=totalMoney/totalMonth;
/**
* 获取月利率
*/
double monRate=resMonthRate(rate);
BigDecimal b = new BigDecimal(monRate);
monRate = b.setScale(6, BigDecimal.ROUND_HALF_UP).doubleValue();
for(int i=1;i=totalMonth;i++){
double monthRes=monthPri+(totalMoney-monthPri*(i-1))*monRate;
BigDecimal b1 = new BigDecimal(monthRes);
monthRes = b1.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println("第"+i+"月,还款为:"+monthRes);
}
}
/**
*
* 等额本息还款【利息多】
* @param totalMoeny 贷款总额
* @param rate 贷款商业利率
* @param year 贷款年限
*/
public static void interest(int totalMoney,double rate,int year){
/**
* 获取月利率
*/
double monRate=resMonthRate(rate);
/**
* 月还款本息
*/
double monInterest=totalMoney*monRate*Math.pow((1+monRate),year*12)/(Math.pow((1+monRate),year*12)-1);
BigDecimal b = new BigDecimal(monInterest);
monInterest = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println("月供本息和:"+monInterest);
}
/**
*
* 转换为月利率
* @param rate
* @return
*/
public static double resMonthRate(double rate){
return rate/12;
}
/**
* TODO
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int totalMoney=430000;
double rate=0.0655;
int year=20;
// BankRefund.interest(totalMoney, rate, year);
BankRefund.principal(totalMoney, rate, year);
}
}
等额本息的计算方法是什么?
等额本息计算方式
每月还本付息金额=[本金x月利率x(1+月利率)贷款月数]/[(1+月利率)还款月数-1]
每月利息=剩余本金x贷款月利率
还款总利息=贷款额*贷款月数*月利率*(1+月利率)贷款月数/【(1+月利率)还款月数-1】-贷款额
还款总额=还款月数*贷款额*月利率*(1+月利率)贷款月数/【(1+月利率)还款月数-1】
注意:在等额本息法中,银行一般先收剩余本金利息,后收本金,所以利息在月供款中的比例会随本金的减少而降低,本金在月供款中的比例因而升高,但月供总额保持不变。
拓展资料:
等额本息是指一种贷款的还款方式,指在还款期内,每月偿还同等数额的贷款(包括本金和利息)。
等额本息和等额本金是不一样的概念,虽然刚开始还款时每月还款额可能会低于等额本金还款方式的额度,但是最终所还利息会高于等额本金还款方式,该方式经常被银行使用。
计算方法
每月还款数额计算公式如右图:
P:贷款本金
R:月利率
N:还款期数
附:月利率 = 年利率/12
下面举例说明等额本息还款法,
假定借款人从银行获得一笔20万元的个人住房贷款,贷款期限20年,贷款年利率4.2%,每月还本付息。按照上述公式计算,每月应偿还本息和为1233.14元。
上述结果只给出了每月应付的本息和,因此需要对这个本息和进行分解。仍以上例为基础,一个月为一期,第一期贷款余额20万元,应支付利息700元(200000×4.2%/12),支付本金533.14元,仍欠银行贷款199466.86元;第二期应支付利息(199466.86×4.2%/12)元。
还款法
即把按揭贷款的本金总额与利息总额相加,然后平均分摊到还款期限的每个月中,每个月的还款额是固定的,但每月还款额中的本金比重逐月递增、利息比重逐月递减。这种方法是最为普遍,也是大部分银行长期推荐的方式。
等额本息还款法即借款人每月按相等的金额偿还贷款本息,其中每月贷款利息按月初剩余贷款本金计算并逐月结清。
等额本金还款法即借款人每月按相等的金额(贷款金额/贷款月数)偿还贷款本金,每月贷款利息按月初剩余贷款本金计算并逐月结清,两者合计即为每月的还款额。
计算公式
每月还款额=[贷款本金×月利率×(1+月利率)^还款月数]÷[(1+月利率)^还款月数-1]
还款公式推导
设贷款总额为A,银行月利率为β,总期数为m(个月),月还款额设为X,则各个月所欠银行贷款为:
第一个月A(1+β)-X
第二个月(A(1+β)-X)(1+β)-X=A(1+β)^2-X[1+(1+β)]
第三个月[A(1+β)-X)(1+β)-X](1+β)-X =A(1+β)^3-X[1+(1+β)+(1+β)^2] ?
由此可得第n个月后所欠银行贷款为 A(1+β)^n _X[1+(1+β)+(1+β)^2+?+(1+β)^(n-1)]= A(1+β)^n _X[(1+β)^n - 1]/β
由于还款总期数为m,也即第m月刚好还完银行所有贷款,
因此有 A(1+β)^m _X[(1+β)^m - 1]/β=0
由此求得 X = Aβ(1+β)^m /[(1+β)^m - 1]
还款法与等额本金计算
等额本息还款法还款金额:
每月应还金额:a*[i*(1+i)^n]/[(1+i)^n-1]
(注:a:贷款本金 ,i:贷款月利率, n:贷款月数 )
java 等额本息还款编程每月应还金额:a*[i*(1+i)^n]/[(1+I)^n-1]
//java 等额本息还款编程每月应还:a*[i*(1+i)^n]/[(1+I)^n-1]
//看不懂你公式里i和I的区别,就当做是利率1和利率2了
//百度到的等额本息还款公式应该是X = Aβ(1+β)^m/[(1+β)^m-1],估计你是打错了,但还是按你的编写了
package Test;
import java.util.Scanner;
import java.lang.Math;
public class Huankuan {
public static void main(String[] args) {//
double sum=0d;//还款数
double a=1d;//欠款数
double i=1d;//利率1
double I=0d;//利率2
int n;//欠 款月数
//金 额类要求精度高,都用double类型
Scanner sc=new Scanner(System.in);
System.out.println("请输入欠款数");
a=sc.nextDouble();
System.out.println("请输入月数");
n=sc.nextInt();
System.out.println("请输入利率1(百分比)");
i=sc.nextDouble()/100;
System.out.println("请输入利率2(百分比)");
I=sc.nextDouble()/100;
sum=a*(i*Math.pow(1+i, n))/(Math.pow(1+I, n-1));
System.out.println("等额本息还款,每月应还:"+sum+"元");
}
}
java等额本息计算的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于等额本息的本息和如何计算、java等额本息计算的信息别忘了在本站进行查找喔。
发布于:2022-12-14,除非注明,否则均为
原创文章,转载请注明出处。