0.2.41 • Published 4 years ago

formula-calculator v0.2.41

Weekly downloads
55
License
MIT
Repository
github
Last release
4 years ago

公式计算插件,没有任何依赖

Powered By 轻流

  1. 重新生成代码 antlr4 -Dlanguage=JavaScript -no-listener -visitor Formula.g4

使用方法

  1. npm install formula-calculator --save

  2. 需要使用的地方引入

    import formula from 'formula-calculator';

  3. 调用计算方法

    console.log(formula.calculate('SUM(1,2,3)'));

  4. 本地调试

    npm run calc "sum(1, 2)"

  5. 如果有其他需要,可以提交issue

支持的公式类型

  • IF
  • CONCAT
  • LEFT
  • RIGHT
  • REPLACE
  • MID
  • TEXT
  • NUM
  • RMBUPPER
  • SUM
  • SUMIF
  • AVERAGE
  • COUNT
  • COUNTIF
  • MIN
  • MAX
  • ROUND
  • ROUNDUP
  • ROUNDDOWN
  • INT
  • MOD
  • PRODUCT
  • SUMPRODUCT
  • POWER
  • YEAR
  • MONTH
  • DAY
  • HOUR
  • MINUTE
  • SECOND
  • DATE
  • CURDATE
  • NOW
  • RDID
  • UPPER
  • LOWER
  • AND
  • OR
  • NOT
  • XOR
  • ISEMPTY
  • SEARCH
  • LEN
  • DAYS
  • DATEDELTA
  • REGTEST
  • LN
  • IFS
  • BASE64
  • SQRT
  • DATETOTIMESTAMP
  • TIMESTAMPTODATE
  • UNICODEENCODE
  • UNICODEDECODE

公式的具体用法,可参考轻流公式使用说明

规则

  1. 字符串要用双引号包裹
  2. 字符串中如果需要包含双引号,进入公式前需要把 \ 替换成 \,再把 " 替换成\"。公式计算出的结果,会自动去掉转义

错误码说明

抛出的错误结构为

参数类型错误:

{
  "errCode": 1,  // 错误码
  "funcName": "SUM",  // 发生错误方法/操作符名称
  "paramIdx": 1,  // 错误参数索引,从1开始
}

参数个数错误

{
  "errCode": 2,
  "funcName": "SUM",  // 参数个数错误方法名称
  "expectNum": 2,  // 正确情况下参数个数
  "actualNum": 3,  // 实际参数个数
}

错误码说明

  • 1: 参数类型错误
  • 2: 参数个数错误
  • 3: 计算出的结果不正确
0.2.41

4 years ago

0.2.40

4 years ago

0.2.39

4 years ago

0.2.38

4 years ago

0.2.37

4 years ago

0.2.36

4 years ago

0.2.35

4 years ago

0.2.34

4 years ago

0.2.33

4 years ago

0.2.32

4 years ago

0.2.31

4 years ago

0.2.30

4 years ago

0.2.29

4 years ago

0.2.28

5 years ago

0.2.27

5 years ago

0.2.26

5 years ago

0.2.25

5 years ago

0.2.24

5 years ago

0.2.23

5 years ago

0.2.22

5 years ago

0.2.21

5 years ago

0.2.20

5 years ago

0.2.19

5 years ago

0.2.18

5 years ago

0.2.17

5 years ago

0.2.16

5 years ago

0.2.15

5 years ago

0.2.14

5 years ago

0.2.13

5 years ago

0.2.12

5 years ago

0.2.11

5 years ago

0.2.10

5 years ago

0.2.9

5 years ago

0.2.8

5 years ago

0.2.7

5 years ago

0.2.6

5 years ago

0.2.5

5 years ago

0.2.4

5 years ago

0.2.3

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

6 years ago

0.1.58

6 years ago

0.1.57

6 years ago

0.1.56

6 years ago

0.1.55

6 years ago

0.1.54

6 years ago

0.1.53

6 years ago

0.1.52

6 years ago

0.1.51

6 years ago

0.1.50

6 years ago

0.1.49

6 years ago

0.1.48

6 years ago

0.1.47

6 years ago

0.1.46

6 years ago

0.1.45

6 years ago

0.1.44

6 years ago

0.1.43

7 years ago

0.1.42

7 years ago

0.1.41

7 years ago

0.1.40

7 years ago

0.1.39

7 years ago

0.1.38

7 years ago

0.1.37

7 years ago

0.1.36

7 years ago

0.1.35

7 years ago

0.1.34

7 years ago

0.1.33

7 years ago

0.1.32

7 years ago

0.1.31

7 years ago

0.1.30

7 years ago

0.1.29

7 years ago

0.1.28

7 years ago

0.1.27

7 years ago

0.1.26

7 years ago

0.1.25

7 years ago

0.1.24

7 years ago

0.1.23

7 years ago

0.1.22

7 years ago

0.1.21

7 years ago

0.1.20

7 years ago

0.1.19

7 years ago

0.1.18

7 years ago

0.1.17

7 years ago

0.1.16

7 years ago

0.1.15

7 years ago

0.1.14

7 years ago

0.1.13

7 years ago

0.1.12

7 years ago

0.1.11

7 years ago

0.1.10

7 years ago

0.1.9

7 years ago

0.1.8

7 years ago

0.1.7

7 years ago

0.1.6

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.3

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago

0.0.30

7 years ago

0.0.29

7 years ago

0.0.28

7 years ago

0.0.27

7 years ago

0.0.26

7 years ago

0.0.25

7 years ago

0.0.24

7 years ago

0.0.23

7 years ago

0.0.22

7 years ago

0.0.21

8 years ago

0.0.20

8 years ago

0.0.19

8 years ago

0.0.18

8 years ago

0.0.17

8 years ago

0.0.16

8 years ago

0.0.15

8 years ago

0.0.14

8 years ago

0.0.13

8 years ago

0.0.12

8 years ago

0.0.11

8 years ago

0.0.10

8 years ago

0.0.9

8 years ago

0.0.8

8 years ago

0.0.7

8 years ago

0.0.6

8 years ago

0.0.5

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago