是否有可以执行数值运算并返回值的 .NET 库?
我有这样的表达:
1 + 1/2
这应该返回相同的双重等价物。我不会传递一个字符串,它将是一个数值,返回应该是一个数字。
我已经使用NCalc进行中到复杂的计算,它似乎可以满足您的需求。
关于OP对原始问题的评论:
double d = 1/2;
在c#中会返回0,因为整数1除以整数2,得到的整数结果为0。
如果您需要触发实数数学运算,则必须至少将其中一个操作数定义为实数。您可以通过使用小数点指定它(1.0 而不是 1),或者在值之后添加类型说明符(1f 或 1d 而不是 1)来做到这一点。看看这个例子:
double d1 = (1 + 1/2); //returns 1
double d2 = (1 + 1.0/2); //returns 1.5
double d3 = (1 + 1/2.0); //returns 1.5
double d4 = (1 + 1f/2); //returns 1.5
double d5 = (1 + 1d/2); //returns 1.5