1

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

我有这样的表达:

1 + 1/2

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

4

2 回答 2

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
于 2013-01-28T10:06:21.547 回答
0

请参阅此处CodeDom 计算器 - 动态评估 C# 数学表达式

于 2013-01-28T10:04:13.993 回答