- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试制作一个程序,允许用户在考虑贷款时确定不同的方面。第一个等式应该确定在给定贷款金额、利率和月数的情况下,每月还款额是多少。第二个等式应该确定在给定贷款金额、利率和每月还款额的情况下,一个人必须支付多少次(或几个月)。这是我正在测试的代码,但我似乎无法获得有效输出。
float amount = 20000;
float rate = (float) 7.5;
float months = 60;
float payment = 450;
float answer = (float) (((amount*(rate/1200))*(1+(Math.pow((rate/1200), months))))/((1+Math.pow((rate/1200), months))-1));
System.out.println(answer);
float answer2 = (log(payment/amount)-log((payment/amount)-(rate/1200)))/(log(1+(rate/1200)));
System.out.println(answer2);
对于第一个等式,我一开始一直出错,因为它希望答案是 double ,并且一直告诉我,对于我的速率变量,我无法从 double 转换为浮点,所以我不得不进行强制转换。一旦错误消失,我就会不断得到无穷大的答案。
对于第二个方程,它一直说我不能除以零。有没有人知道这个的任何解决方案。在网上看时,好像我的方程式是正确的,所以我不知道如何使它们起作用。
此外,如果有人碰巧知道确定利率的好公式,那将非常有帮助。
最佳答案
您缺少一些转换,log
应该是 Math.log
。当我将所有内容都转换为 double 时(为什么你如此坚持使用 float ?使用 double 意味着你不需要将这些强制转换无处不在)我得到以下输出:
Infinity
52.23012630649508
不确定第二个值应该是多少,但这似乎没问题;没有警告也没有错误。关于第一部分,您除以零。试试这个:
System.out.println(Math.pow(rate/1200, months));
然后你会得到以下微小的数字
5.659799424266714E-133
浮点运算将导致您的分母为零,因为该值 +1 将失去精度,因此:
System.out.println(1+Math.pow(rate/1200, months)-1);
产生 0.0
并且您的分母将导致第二个结果为无穷大。
关于java - 如何在 Java 中执行贷款方程式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7471449/
我正在尝试编写一个 SQL 查询来根据以下公式计算 future 贷款余额: FV( future 余额)= CV(当前余额)- P(固定还款)+ I (利息资本化) 其中 **I = (CV * A
我是一名优秀的程序员,十分优秀!