質問

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.

役に立ちましたか?

解決

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).

他のヒント

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.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top