Example usage for org.apache.poi.ss.formula.eval OperandResolver coerceValueToDouble

List of usage examples for org.apache.poi.ss.formula.eval OperandResolver coerceValueToDouble

Introduction

In this page you can find the example usage for org.apache.poi.ss.formula.eval OperandResolver coerceValueToDouble.

Prototype

public static double coerceValueToDouble(ValueEval ev) throws EvaluationException 

Source Link

Document

Applies some conversion rules if the supplied value is not already a number.

Usage

From source file:com.iesvirgendelcarmen.acceso.tema01.CalculateMortgage.java

License:Apache License

@Override
public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec) {

    // verify that we have enough data
    if (args.length != 3) {
        return ErrorEval.VALUE_INVALID;
    }/*from ww w.j  a  va 2s. co m*/

    // declare doubles for values
    double principal, rate, years, result;
    try {
        // extract values as ValueEval
        ValueEval v1 = OperandResolver.getSingleValue(args[0], ec.getRowIndex(), ec.getColumnIndex());
        ValueEval v2 = OperandResolver.getSingleValue(args[1], ec.getRowIndex(), ec.getColumnIndex());
        ValueEval v3 = OperandResolver.getSingleValue(args[2], ec.getRowIndex(), ec.getColumnIndex());

        // get data as doubles
        principal = OperandResolver.coerceValueToDouble(v1);
        rate = OperandResolver.coerceValueToDouble(v2);
        years = OperandResolver.coerceValueToDouble(v3);

        result = calculateMortgagePayment(principal, rate, years);
        System.out.println("Result = " + result);

        checkValue(result);

    } catch (EvaluationException e) {
        return e.getErrorEval();
    }

    return new NumberEval(result);
}

From source file:com.wantdo.stat.excel.poi_src.formula.CalculateMortgage.java

License:Apache License

public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec) {

    // verify that we have enough data
    if (args.length != 3) {
        return ErrorEval.VALUE_INVALID;
    }//from  w  w w  .  j  a v  a  2  s.c o  m

    // declare doubles for values
    double principal, rate, years, result;
    try {
        // extract values as ValueEval
        ValueEval v1 = OperandResolver.getSingleValue(args[0], ec.getRowIndex(), ec.getColumnIndex());
        ValueEval v2 = OperandResolver.getSingleValue(args[1], ec.getRowIndex(), ec.getColumnIndex());
        ValueEval v3 = OperandResolver.getSingleValue(args[2], ec.getRowIndex(), ec.getColumnIndex());

        // get data as doubles
        principal = OperandResolver.coerceValueToDouble(v1);
        rate = OperandResolver.coerceValueToDouble(v2);
        years = OperandResolver.coerceValueToDouble(v3);

        result = calculateMortgagePayment(principal, rate, years);
        System.out.println("Result = " + result);

        checkValue(result);

    } catch (EvaluationException e) {
        return e.getErrorEval();
    }

    return new NumberEval(result);
}

From source file:de.enerko.reports2.functions.NormInv.java

License:Apache License

public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec) {
    try {//from  ww  w. j a v a  2  s .c o m
        final ValueEval p = OperandResolver.getSingleValue(args[0], ec.getRowIndex(), ec.getColumnIndex());
        final ValueEval mu = OperandResolver.getSingleValue(args[1], ec.getRowIndex(), ec.getColumnIndex());
        final ValueEval sigma = OperandResolver.getSingleValue(args[2], ec.getRowIndex(), ec.getColumnIndex());
        return new NumberEval(this.compute(OperandResolver.coerceValueToDouble(p),
                OperandResolver.coerceValueToDouble(mu), OperandResolver.coerceValueToDouble(sigma)));
    } catch (EvaluationException e) {
        return e.getErrorEval();
    }
}