【问题标题】:Javascript parser to add percentages to non-percentagesJavascript解析器将百分比添加到非百分比
【发布时间】: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


【解决方案1】:

你可以这样做:

      Number.prototype.plusPecentage = function(n){    
        return this+(this*n/100);
      }
    
      console.log((1 + 6).plusPecentage(7))

或者这个:

Math.plusPecentage = function(n,p){
  return n+(n*p/100);
}

console.log(Math.plusPecentage(7,7))

你也可以做同样的事情,但扩展 ma​​thjs 库做math.plusPecentage = function () {//code}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    相关资源
    最近更新 更多