如何在Java中计算Excel PV函数

如何在Java中计算Excel PV函数,java,finance,Java,Finance,这是计算现值(PV)的excel公式 在Java中如何使用上述参数计算相同的值 public static double pv(double rate, double numberOfPeriod, double payment) { double retval = 0; boolean t = false; if (rate == 0) { retval = -1*((numberOfPeriod*payment)); } else {

这是计算现值(PV)的excel公式

在Java中如何使用上述参数计算相同的值

public static double pv(double rate, double numberOfPeriod, double payment) {
    double retval = 0;
    boolean t = false;
    if (rate == 0) {
        retval = -1*((numberOfPeriod*payment));
    }
    else {
        double r1 = rate + 1;
        retval =
                (( ( 1 - Math.pow(r1, numberOfPeriod) ) / rate ) * (t ? r1 : 1)  * payment - 0) 
                /
                Math.pow(r1, numberOfPeriod);
    }
    return retval;
}
其中t为类型-付款到期时。0=期间结束,1=期间开始。默认值为0

public static double pv(double rate, double numberOfPeriod, double payment) {
    double retval = 0;
    boolean t = false;
    if (rate == 0) {
        retval = -1*((numberOfPeriod*payment));
    }
    else {
        double r1 = rate + 1;
        retval =
                (( ( 1 - Math.pow(r1, numberOfPeriod) ) / rate ) * (t ? r1 : 1)  * payment - 0) 
                /
                Math.pow(r1, numberOfPeriod);
    }
    return retval;
}