ExcelFormulaParser.Engine.Excel.Functions.Math.Round.Execute C# (CSharp) Method

Execute() public method

public Execute ( IEnumerable arguments, ParsingContext context ) : CompileResult
arguments IEnumerable
context ParsingContext
return ExcelFormulaParser.Engine.ExpressionGraph.CompileResult
        public override CompileResult Execute(IEnumerable<FunctionArgument> arguments, ParsingContext context)
        {
            ValidateArguments(arguments, 2);
            var number = ArgToDecimal(arguments, 0);
            var nDigits = ArgToInt(arguments, 1);
            if (nDigits < 0)
            {
                nDigits *= -1;
                return CreateResult(number - (number % (System.Math.Pow(10, nDigits))), DataType.Integer);
            }
            return CreateResult(System.Math.Round(number, nDigits), DataType.Decimal);
        }

Usage Example

Ejemplo n.º 1
0
 public void RoundShouldReturnCorrectResultWhenNbrOfDecimalsIsNegative()
 {
     var func = new Round();
     var args = FunctionsHelper.CreateArgs(9333, -3);
     var result = func.Execute(args, _parsingContext);
     Assert.AreEqual(9000d, result.Result);
 }
All Usage Examples Of ExcelFormulaParser.Engine.Excel.Functions.Math.Round::Execute
Round