将百分比添加到非百分比的Javascript解析器

将百分比添加到非百分比的Javascript解析器,javascript,mathjs,Javascript,Mathjs,正在寻找一种一致的方法来编写(或扩展)解析器来处理数学方程。我大部分时间都在用这个,效果很好。但它不处理百分比。我正在尝试编写规则,处理将百分比添加到百分比、将百分比添加到非百分比等 1+6+7%=7.49–正确。 1+6+7%=7.07–不正确 56.47+15%=64.9405–正确。 56.47+15%=56.62–不正确 等等 欢迎任何提示或建议 您可以这样做: Number.prototype.plusPecentage=函数(n){ 返回此+(此*n/100); } log((1+

正在寻找一种一致的方法来编写(或扩展)解析器来处理数学方程。我大部分时间都在用这个,效果很好。但它不处理百分比。我正在尝试编写规则,处理将百分比添加到百分比、将百分比添加到非百分比等

1+6+7%=7.49–正确。
1+6+7%=7.07–不正确

56.47+15%=64.9405–正确。
56.47+15%=56.62–不正确

等等


欢迎任何提示或建议

您可以这样做:

Number.prototype.plusPecentage=函数(n){
返回此+(此*n/100);
}

log((1+6).plusPecentage(7))
用百分比添加数字没有多大意义。这就像把苹果和梨子放在一起。如果你认为<代码> 7% <代码>是<< 1 >代码> <代码> > 7%的快捷方式(即<代码> 0.07 < /代码>),则<代码> 1 + 6 + 7%=7.07 < /代码>是正确的等式。谷歌
1+6+7%
谷歌会给你一个答案。这不是谷歌提供的唯一错误答案。这是谷歌计算器提供的答案;)六羟甲基三聚氰胺六甲醚。。。谷歌计算器试图模仿真正的台式和手持计算器。这种计算器在每次键入运算符时都会计算部分结果。谷歌只是部分实现了它,但它做得不对,试图使用正确的运算符优先级。因此,上述两个表达式的结果不同(与使用桌面计算器得到的结果不同)。