公积金自由还款计算器(by quqi99)
作者:张华 发表于:2010-07-29
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明
package com.TripResearch;
import java.math.BigDecimal;
/**
* 公积金自由还款计算器
*
* 还款的原则都是先还利息,后还本金。可以告诉您计算利息的方法。利息是按照您实际占压借款资金的时间来计算的。
* 每一期计息都是以您的剩余本金数作为计息的基数,用这个基数乘以月利率(月利率就是贷款年利率÷12(月)),
* 得出来的数额就是您当期应当偿还的利息数。由于您每一期的剩余本金数不一样,每一期支付的利息就不同。举个例子:
* 20万20年,最低还款额为995元,假定月利率为3.825‰。首期还款如果是按最低还款额还款,
* 其中利息部分金额为20万元×月利率(3.825‰))=765元,偿还本金部分为230元;第二期如果还是按照最低还款额还,
* 则利息部分为(20万元-230元)×月利率(3.825‰))=764.12元,偿还本金为230.88元;以后各期以此类推,
* 您可以通过网站右侧公积金贷款计算器自行推算。
* @author: huazhang
* @since: 2010-7-19
*/
public class Test
{
private static final int DEF_DIV_SCALE = 10;
public static double add(double v1, double v2)
{
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2).doubleValue();
}
public static double sub(double v1, double v2)
{
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2).doubleValue();
}
public static double mul(double v1, double v2)
{
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2).doubleValue();
}
public static double div(double v1, double v2)
{
return div(v1, v2, DEF_DIV_SCALE);
}
public static double div(double v1, double v2, int scale)
{
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.divide(b2, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
public static double round(double v, int scale)
{
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* @param args
*/
public static void main(String[] args)
{
double monthlyPayment = 4000; //月还款额
double totalLoan = 800000; //货款总额,80万
double monthlyRate = 0.00323; //月利率,年利率3.87%除以12=0.00323
int issueNum = 1; //期数
double payedCapitalTotals = 0; //已偿还本金总数
double payedInterests = 0; //已偿还利息总数
System.out.println("期数 本期偿还本金 累计偿还本金 本期偿还利息 累计偿还利息");
while(payedCapitalTotals <= totalLoan){
double remianCapitals = sub(totalLoan, payedCapitalTotals); //剩余本金数
double interest = mul(remianCapitals, monthlyRate); //本期偿还的利息
double payedCapital = sub(monthlyPayment,interest); //本期偿还的本金
payedInterests += interest;
payedCapitalTotals += payedCapital;
System.out.println(issueNum + " " + round(payedCapital,2) + " " + round(payedCapitalTotals,2) + " " + round(interest,2) + " " + round(payedInterests,2));
issueNum ++ ;
}
System.out.println("共" + round(div(issueNum,12),2) + "年还完,共偿还" + round(add(totalLoan,payedInterests),2) + "元");
}
}
分享到:
相关推荐
MTK平台的多功能下載軟件,適用所有MTK手機....
用directshwo开发的视屏播放器,比较简单,有时候会出错
国内最好的数据库达梦DM8,曲奇网盘下载链接:https://quqi.com/s/1243222/wcOZdaWgUlHrwhOk
数据来源:中国劳动统计NJ-2023版
数据来源:中国人口与就业统计NJ-2023版
Smart继电器编程器操作手册
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
数据来源:中国人口与就业统计NJ-2023版
数据来源:中国人口与就业统计NJ-2023版
基于matlab实现的图像几何校正的程序,根据靶图将tiger图像从鱼眼形变恢复.rar
毕业论文(设计)—旅游资源管理系统设计与实现论文.doc
数据来源:中国劳动统计NJ-2023版
数据来源:中国电力统计NJ-2021版
引入dynamic-datasource-spring-boot-starter。 spring-boot 1.5.x 2.x.x <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>${version}</version> </dependency> spring-boot3及以上 <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot3-starter</artifactId> <version>${version}</version> </dependency> 配置数据源。 spring: datasource: dynamic: enabled: true #启用动态数据源,默认true
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
基于HarmonyOS 4开发的一款新闻类的鸿蒙APP源代码
基于matlab实现遗传算法无功优化,基于掌纹识别的在线身份验证 识别算法本科毕设,是本科毕设的题目。.rar
【毕业设计】基于C和Access的图书管理系统设计与实现.doc
附件是 华为 OD 机考攻略_加强版,文件绿色安全,请大家放心下载,仅供交流学习使用,无任何商业目的!