用于评估数值表达式的库

时间:2013-01-28 10:01:54

标签: c#

是否有可以执行数值运算并返回值的.NET库?

我有一个像这样的表达式:

1 + 1/2

这应该返回相同的双重等价物。 我不会传递一个字符串,它将是一个数值,返回应该是一个数字。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)