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中已相应扩展。