Java Math.Pow方法

时间:2013-03-17 04:32:58

标签: java pow

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

我正在使用此代码,但它没有正确计算Math.pow(-n,-n)。似乎是Math.pow(-n,-n)计算为0.0。所有变量都有double类型。

2 个答案:

答案 0 :(得分:2)

看起来您正在尝试根据本金金额等计算每月还款额。但是,您的公式错误:(1+amtI)*Math.pow(-n,-n)应为Math.pow(1+amtI,-n)

答案 1 :(得分:1)

pow(-n,-n)的值太低而无法表示为double(绝对值的最小非零倍数约为10E-323)。

您可以使用BigDecimal,但请注意BigDecimal的计算速度较慢。