Class Complex
- java.lang.Object
-
- org.apache.poi.ss.formula.functions.Complex
-
- All Implemented Interfaces:
FreeRefFunction
,Function
,Function2Arg
,Function3Arg
public class Complex extends Object implements FreeRefFunction
Implementation for Excel COMPLEX () function.Syntax:
COMPLEX (real_num,i_num,suffix )
Converts real and imaginary coefficients into a complex number of the form x + yi or x + yj.
All complex number functions accept "i" and "j" for suffix, but neither "I" nor "J". Using uppercase results in the #VALUE! error value. All functions that accept two or more complex numbers require that all suffixes match.
real_num The real coefficient of the complex number. If this argument is nonnumeric, this function returns the #VALUE! error value.
i_num The imaginary coefficient of the complex number. If this argument is nonnumeric, this function returns the #VALUE! error value.
suffix The suffix for the imaginary component of the complex number.
- If omitted, suffix is assumed to be "i".
- If suffix is neither "i" nor "j", COMPLEX returns the #VALUE! error value.
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_SUFFIX
static FreeRefFunction
instance
static String
SUPPORTED_SUFFIX
-
Constructor Summary
Constructors Constructor Description Complex()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ValueEval
evaluate(int srcRowIndex, int srcColumnIndex, ValueEval real_num, ValueEval i_num)
ValueEval
evaluate(int srcRowIndex, int srcColumnIndex, ValueEval real_num, ValueEval i_num, ValueEval suffix)
ValueEval
evaluate(ValueEval[] args, int srcRowIndex, int srcColumnIndex)
ValueEval
evaluate(ValueEval[] args, OperationEvaluationContext ec)
-
-
-
Field Detail
-
instance
public static final FreeRefFunction instance
-
DEFAULT_SUFFIX
public static final String DEFAULT_SUFFIX
- See Also:
- Constant Field Values
-
SUPPORTED_SUFFIX
public static final String SUPPORTED_SUFFIX
- See Also:
- Constant Field Values
-
-
Method Detail
-
evaluate
public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval real_num, ValueEval i_num)
Description copied from interface:Function2Arg
- Specified by:
evaluate
in interfaceFunction2Arg
-
evaluate
public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval real_num, ValueEval i_num, ValueEval suffix)
Description copied from interface:Function3Arg
- Specified by:
evaluate
in interfaceFunction3Arg
-
evaluate
public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec)
- Specified by:
evaluate
in interfaceFreeRefFunction
- Parameters:
args
- the pre-evaluated arguments for this function. args is nevernull
, nor are any of its elements.ec
- primarily used to identify the source cell containing the formula being evaluated. may also be used to dynamically create reference evals.- Returns:
- never
null
. Possibly an instance ofErrorEval
in the case of a specified Excel error (Exceptions are never thrown to represent Excel errors).
-
evaluate
public final ValueEval evaluate(ValueEval[] args, int srcRowIndex, int srcColumnIndex)
- Specified by:
evaluate
in interfaceFunction
- Parameters:
args
- the evaluated function arguments. Empty values are represented withBlankEval
orMissingArgEval
, nevernull
.srcRowIndex
- row index of the cell containing the formula under evaluationsrcColumnIndex
- column index of the cell containing the formula under evaluation- Returns:
- The evaluated result, possibly an
ErrorEval
, nevernull
. Note - Excel uses the error code #NUM! instead of IEEE NaN, so when numeric functions evaluate toDouble.NaN
be sure to translate the result toErrorEval.NUM_ERROR
.
-
-