解析表达式与双系数值在mathdotnet
本文关键字:mathdotnet 表达式 | 更新日期: 2023-09-27 18:01:27
我使用Infix.Parse
来解析像
apples + oranges = 2
Expression aleft = Infix.ParseOrThrow("apples + oranges");
Expression aright = Infix.ParseOrThrow("2");
有时我需要解析小数值,比如
2.5*tax + income = 30.5
但是这会抛出一个System.Exception
Error in ...
(2.5)
^
Expecting: infix operator or ')'
一定有一种在mathdotnet中处理这种表达式的方法,但我在文档中找不到它。有人能帮忙吗?
代数表达式可以包含整数和有理数,但不能包含浮点数(在实际代数和数学中都不是)。他净)。在求值之前可以使用符号,也可以使用精确的有理数。
然而,有人可能会认为"30.5"可以被解释为"305/10"的简写,或者自动简化后的"61/2"。我们可以考虑扩展解析器来自动执行这种解释,也许可以通过设置来打开/关闭它。你能在GitHub上打开一个问题吗?谢谢!
所以,要回答实际的问题,直到我们扩展了解析器,你将不得不使用有理数代替,例如25/10*tax + income
,它被自动简化为income + (5/2)*tax
。