blob: af8bf4e93607f6e027e014d9cd2ccf52e7684164 [file] [log] [blame]
using System.Collections.Generic;
using OfficeOpenXml.FormulaParsing.ExpressionGraph;
using OfficeOpenXml.Utils;
namespace OfficeOpenXml.FormulaParsing.Excel.Functions.Information;
public class IsEven : ExcelFunction {
public override CompileResult Execute(
IEnumerable<FunctionArgument> arguments,
ParsingContext context) {
ValidateArguments(arguments, 1);
var arg1 = GetFirstValue(arguments); //arguments.ElementAt(0);
if (!ConvertUtil.IsNumeric(arg1)) {
ThrowExcelErrorValueException(eErrorType.Value);
}
var number = (int)System.Math.Floor(ConvertUtil.GetValueDouble(arg1));
return CreateResult(number % 2 == 0, DataType.Boolean);
}
}