(如有谬误,敬请指正……)

现在我身上有一笔30万10年基准利率(6.55)的贷款,压力不大(每月等额本息还款3414.08元),于是每月工资留出一部分买了火鸡(货币基金:我买的那个收益年化约4.5,在这里普及一下:火鸡零门槛-1000元起可买;购买方便-各银行有售,网上银行即可操作;赎回快捷-一般T+1;还有,收益月结哟^^那真是活期的灵活定期的收益,实际上目前绝大部分火鸡的收益要超过定期)。

但我最近在想:如果把结余的这些钱提前还款会不会更划算?

于是把以下几种情况算一下做个对比:
      1. 10年贷款应还款本息总额
     2. 假如30万直接买成火鸡的10年收益
(每月还是用工资去还3414.08;不提前还款而去买火鸡参照此种情况)
      3. 假如不贷款,把每月的应还款买火鸡的10年收益(提前还款可参照此种情况,即贷款一下来就还了这种极端零利息情况)

--开始计算……
     1. 随便从网上找个贷款计算器可知10年总还款额为: 409580.43元 
     2. 写程序(见后)计算知:30万本金购鸡、年化按4.5、月结,10年本金+收益= 472916.22元
     3. 写程序(见后)计算知:月购3414.18、年化按4.5、月结,10年本金+收益= 502682.64元

如果将火鸡收益提高至6,则2、3情况分别得到 545819.02543109.26
    由此可知,按目前火鸡行情来看的话(大部分火鸡年化都不会超过5),还是提前还款更划算一些。否则买鸡更划算。

 private static final double MONTH_RATE = fixed(1 + 0.045 / 12);/*** 四舍五入保留小数4位 * (上网查了一下银行的中间计算精度,有说3位的,有说5位,这里按4位)* 另:BigDecimal入参为String较精准* * @param d* @return*/private static double fixed(double d) {return new BigDecimal(Double.toString(d)).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue();}/*** 假如把本该每月还的钱买成年化4的火鸡* * @param d* @return*/private static void calcNoLoan() {int months = 120;double principal = 3314.08;double sum = 0;for (int i = 0; i < months; i++) {sum = fixed(sum * MONTH_RATE + principal);}System.out.println(sum);}/*** 假如把30万贷款买成年化4的火鸡* * @param d* @return*/private static void calcLoan() {int months = 120;double sum = 300000;for (int i = 0; i < months; i++) {sum = fixed(sum * MONTH_RATE);}System.out.println(sum);}public static void main(String[] args) throws Exception {calcLoan();calcNoLoan();}

NO.87 提前还款or买火鸡?(捎带举例JAVA Double精度计算问题)相关推荐

  1. java 小程序 多线程_《多线程练习—买票小程序——Java第十四周》

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:    < ...

  2. java排队买票_【排队买票】 (Java代码)

    解题思路: 注意事项: 参考代码:public class 排队买票 { public static int count = 0; public static void qpl(char[] char ...

  3. 100块钱买100只鸡php,使用JS计算买100只鸡问题

    这篇文章主要介绍了JS计算输出100元钱买100只鸡问题的解决方法,简单描述了100元钱买100只鸡问题并结合实例形式分析了问题解决的思路与具体实现方法,需要的朋友可以参考下 本文实例讲述了JS计算输 ...

  4. PAT 乙级 1039. 到底买不买(20)Java版

    小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子 ...

  5. python的datetime举例_Python datetime库计算两个时间点之间的分钟(秒、天)数

    计算两个时间点之间的分钟数 import datetime def minNums(startTime, endTime): '''计算两个时间点之间的分钟数''' # 处理格式,加上秒位 start ...

  6. ZZULIOJ-1074,百钱买百鸡(Java)

    题目描述: 百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用100文钱买100只鸡,公鸡.母鸡.小鸡各买多少只? 本程序要求解的问题是:给定一个正整数n,用n文钱买n只鸡,问公鸡.母 ...

  7. nodejs+Vue社区菜店线上买菜商城系统java springboot

    此系统需要java面向对象编程基础,数据库应用知识以及功能分析.根据目前阶段所掌握的知识,根据这学期以及之前学习掌握的java编程知识和数据库应用知识以及前端知识做出一个这样的基于Javaweb.Sp ...

  8. java 方法重载 应用举例,Java 实例 - 重载(overloading)方法中使用 Varargs

    以下实例演示了如何在重载方法中使用可变参数:/* author by w3cschool.cc Main.java */public class Main { static void vaTest(i ...

  9. java界面布局举例,java图形界面实例

    java写一个图形程序,让数组输出在图形界面上 代码怎么写?别那么复杂的. 已把程序文件打包上传了,并附上运算结果图. import javax.swing.*;import java.awt.*;i ...

最新文章

  1. flink HA高可用Standalone集群搭建
  2. 前后台传参类型、格式不同,解决思路
  3. SQL基础【十九、触发器】(不建议使用触发器的原因)
  4. 音频文件 数据库存储_数据库系统是什么?它由哪几部分组成?
  5. JMeter web 测试
  6. java实现权重随机算法
  7. Java Integer 常量池
  8. Ansible详解(一)——Ansible理论基础
  9. devc编译器中的socket编程爬坑日记
  10. 龙格库塔解一阶微分方程c语言,四阶龙格库塔法解微分方程
  11. 百度地图api初次申请及简单应用
  12. 游戏引擎jvm频繁young gc问题分析
  13. 重庆地区外卖店铺分析系统的设计与实现
  14. SURF C++代码 详细阅读(二)—— 极值点检测 确定极值点精确位置
  15. html遮罩层动画制作,flash简单制作遮罩动画效果
  16. Tensorflow中的tf.argmax()函数
  17. 【正点原子I.MX6U-MINI应用篇】1、编写第一个应用App程序helloworld
  18. 几个主流的Java连接池
  19. 了解HTTP与B/S架构并熟悉浏览器开发者工具与请求报文和响应报文格式等【非常详细】
  20. Android: 进程保活

热门文章

  1. ArcGIS Pro 3D入门
  2. ECSHOP农行支付接口开发(含手机端)
  3. 【美学设计】微信小程序界面设计
  4. 全球免费公共【 DNS 】解析服务器 IP 地址列表推荐 【解决无法上网+加速+防劫持】
  5. Software Engineering at Google翻译-III-12-Unit Testing(单元测试 )
  6. [转载]vfw的AVI族函数读取AVI文件
  7. 个人项目-Material-Design版花瓣网图片App
  8. How to show a Power View report at the SharePoint page
  9. QT实现北斗GGA数据的自动模拟生成和解析
  10. 【Java我最强】最值得Java人反复精读的15本好书(附电子书)