Android Java 语言的 EMI 计算器:结果不正确,因为 Math.pow 给出的数字非常大

Android EMI Calculator in Java Language: Not resulting correct as Math.pow is giving very large number

下面是 Android 中使用 Java 的小型 EMI 计算器代码的一部分。每当我输入 P = 1000000,T = 120(以月为单位),R = 9.

结果是:9000000.0,这是不正确的。我认为问题出在 "Math.pow(1+R,T)" 上,因为它的结果非常大。我不知道。请帮帮我。

            double P = Double.parseDouble(str1);
            double T = Double.parseDouble(str2);
            double R = Double.parseDouble(str3);

            double Emi = P * R * Math.pow(1+R,T) / (Math.pow(1+R,T) - 1);

            f.setText("EMI: "+String.valueOf(Emi));

答案正确,我用计算器用你的公式计算得到输出= 9000000。

如果你说 9000000 是错误的,你期望的输出是什么?

根据此处给出的公式 (https://math.stackexchange.com/questions/279844/how-the-formula-for-emi-is-derived),您的公式第一部分缺少括号。应该是

EMI = [ P * R * (1 + R)^T ] / [ (1+R)^T - 1 ]

Math.pow() 没有任何问题,这里有一件事你没有考虑。这里的利率是百分比。所以你需要用 R 除以 100

只需如下更改公式即可。

double Emi = (P * (R/100) * Math.pow(1+(R/100),T)) / (Math.pow(1+(R/100),T)-1)

希望这会有所帮助。