Java Math.Pow method

给你一囗甜甜゛ 提交于 2019-12-11 03:53:27

问题


monPay = (amtFin * amtI)/((1-(1+amtI)*Math.pow(-n,-n)));

I am using this code but it is not calculating Math.pow(-n,-n) correctly. It seems like it is Math.pow(-n,-n) is calculating to 0.0. All variables have type double.


回答1:


It looks like you're trying to compute monthly loan repayments based on the principal amount etc. However, your formula is wrong: the (1+amtI)*Math.pow(-n,-n) should be Math.pow(1+amtI,-n).




回答2:


What happens is that the value of pow(-n,-n) is too low to be represented as a double (the minimum non-zero double in absolute value is about 10E-323).

You may work with BigDecimal instead, but note that computations with BigDecimal are slower.



来源:https://stackoverflow.com/questions/15457547/java-math-pow-method

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!