我在一个项目中使用NCalc。有没有一种方法可以像
#16/02/2013# - #15/02/2013# =1
我似乎无法产生结果。
Expression.Evaluate();对于上述表达式,结果为空。我可以比较两个日期,但有没有办法使用NCalc对它们进行操作?
发布于 2013-03-27 14:57:57
不,NCalc库不允许这样做。
朗读这个相关的主题。
但是你可以用NCalc来做。
假设a和b是DateTime类型,(a - b).TotalDays将返回天数。
发布于 2015-01-21 11:52:24
如果您乐于创建自定义函数,则可以很容易地在ncalc中完成此操作。
Expression e = new Expression("DayDiff(#16/02/2013#, #15/02/2013#)");
e.EvaluateFunction += delegate(string name, FunctionArgs args)
{
if (name == "DayDiff")
{
var date1 = args.Parameters[0].Evaluate();
var date2 = args.Parameters[1].Evaluate();
var timespan = date2 - date1;
return timespan.TotalDays; // double (you can convert to int if you wish a whole number!)
}
}
Console.Write(e.Evaluate());https://stackoverflow.com/questions/15661654
复制相似问题