分期还款-反向利率计算

来源:互联网 发布:大连seo搜索排名 编辑:程序博客网 时间:2024/04/19 11:24

前言:现下随着互联网金融的扩张,越来越多的企业/银行开放了各种各样的融资/贷款产品,但是,笔者发现,很多时候都只是标注还款金额,并不告诉你利率信息,导致可能没有一个准确的概念,因此想写一个逻辑实现利率反向计算的功能。


已知还款金额计算日利率

    // 1. 分期转全部(等额本息)    public void periodLoan(BigDecimal allAmount, BigDecimal interest, int months) {        Calendar cal = Calendar.getInstance();        Calendar cal2 = Calendar.getInstance();        cal2.add(Calendar.MONTH, 1);        long allDays = 0;        // 获取当日        long time1 = cal.getTimeInMillis();        for (int i = 0; i < months; i++) {            long time2 = cal2.getTimeInMillis();            long between_days = (time2 - time1) / (1000 * 3600 * 24);            allDays = allDays + between_days;            cal2.add(Calendar.MONTH, 1);        }        System.out.println("所有计息天数:" + allDays);        System.out.println("本金:" + allAmount+ ",总利息:" + interest + ",等额本息还款,分期月数:" + months);        BigDecimal rate = interest.divide(allAmount,6,BigDecimal.ROUND_DOWN).divide(new BigDecimal(allDays),6,BigDecimal.ROUND_DOWN).multiply(new BigDecimal(months));        System.out.println( "日利率: "+ rate);        BigDecimal yearRate = rate.multiply(new BigDecimal(365));        System.out.println( "年利率: "+ yearRate);    }

后记

逻辑先这样吧,懒得写了。有时间再优化。
原创粉丝点击