【发布时间】:2018-07-29 21:52:32
【问题描述】:
寻找一种一致的方式来编写(或扩展)解析器来处理数学方程式。我大部分时间都在使用mathjs,效果很好。但它不处理百分比。我正在尝试编写规则来处理将百分比添加到百分比、将百分比添加到非百分比等。
1 + 6 + 7% = 7.49 – 正确。
1 + 6 + 7% = 7.07 – 不正确。
56.47 + 15% = 64.9405 – 正确。
56.47 + 15% = 56.62 – 不正确。
等等。
欢迎任何提示或建议。
【问题讨论】:
-
用百分比添加数字没有多大意义。这就像在梨中加入苹果。如果您将
7%视为7% of 1(即0.07)的快捷方式,那么1 + 6 + 7% = 7.07是正确的等式。 -
它不会,但人们会这样做。谷歌
1 + 6 + 7%,谷歌会给你答案。 -
这不是 Google 提供的唯一错误答案。
-
这是谷歌计算器提供的答案 ;)
-
嗯...谷歌计算器试图模仿真正的台式和手持计算器的方式。每次键入运算符时,此类计算器都会计算部分结果。谷歌仅部分实现它并且做错了,试图使用正确的运算符优先级。因此,上述两个表达式的结果不同(并且与使用桌面计算器得到的结果不同)。
标签: javascript mathjs