C# mathdotnet中双系数值解析表达式

C# mathdotnet中双系数值解析表达式,c#,math.net,C#,Math.net,我正在使用Infix.Parse来解析如下等式 apples + oranges = 2 Expression aleft = Infix.ParseOrThrow("apples + oranges"); Expression aright = Infix.ParseOrThrow("2"); 有时我需要解析分数值,比如 2.5*tax + income = 30.5 但这会抛出一个系统异常 Error in ... (2.5) ^ Expecting: infix operator

我正在使用
Infix.Parse
来解析如下等式

apples + oranges = 2
Expression aleft = Infix.ParseOrThrow("apples + oranges");
Expression aright = Infix.ParseOrThrow("2");
有时我需要解析分数值,比如

2.5*tax + income = 30.5
但这会抛出一个
系统异常

Error in ...
(2.5)
  ^
Expecting: infix operator or ')'

在mathdotnet中必须有一种处理此类表达式的方法,但我在文档中找不到它。有人能帮忙吗?

代数表达式可以包含整数和有理数,但不能包含浮点数(无论是在实际代数中还是在Math.NET符号中)。您可以使用a或使用确切的有理数

然而,有人可能会说,“30.5”可以解释为“305/10”或“61/2”在自动简化后的缩写。我们可以考虑将解析器扩展为自动进行这种解释,或者用一个设置来打开/关闭它。你能帮我吗?谢谢


因此,为了回答实际问题,在我们扩展解析器之前,您必须使用有理数,例如,
25/10*tax+income
,它自动简化为
income+(5/2)*tax

更新:解析器在今天发布的MathNet.Symbolics-v0.5.0中已相应扩展。