public ValueEval evaluate(int srcCellRow, int srcCellCol, ValueEval arg0) {double d;try {ValueEval ve = OperandResolver.getSingleValue(arg0, srcCellRow, srcCellCol);if(ve instanceof StringEval) {return ve;}d = OperandResolver.coerceValueToDouble(ve);} catch (EvaluationException e) {return e.getErrorEval();}return new NumberEval(+d);}
public override ValueEval Evaluate(int srcCellRow, int srcCellCol, ValueEval arg0){double d;try{ValueEval ve = OperandResolver.GetSingleValue(arg0, srcCellRow, srcCellCol);if (ve is BlankEval){return NumberEval.ZERO;}if (ve is StringEval){return ve;}d = OperandResolver.CoerceValueToDouble(ve);}catch (EvaluationException e){return e.GetErrorEval();}return new NumberEval(+d);}