0.2.41 • Published 3 years ago

formula-calculator v0.2.41

Weekly downloads
55
License
MIT
Repository
github
Last release
3 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

3 years ago

0.2.40

3 years ago

0.2.39

3 years ago

0.2.38

3 years ago

0.2.37

3 years ago

0.2.36

3 years ago

0.2.35

3 years ago

0.2.34

3 years ago

0.2.33

3 years ago

0.2.32

3 years ago

0.2.31

3 years ago

0.2.30

3 years ago

0.2.29

3 years ago

0.2.28

3 years ago

0.2.27

3 years ago

0.2.26

3 years ago

0.2.25

3 years ago

0.2.24

3 years ago

0.2.23

3 years ago

0.2.22

3 years ago

0.2.21

3 years ago

0.2.20

4 years ago

0.2.19

4 years ago

0.2.18

4 years ago

0.2.17

4 years ago

0.2.16

4 years ago

0.2.15

4 years ago

0.2.14

4 years ago

0.2.13

4 years ago

0.2.12

4 years ago

0.2.11

4 years ago

0.2.10

4 years ago

0.2.9

4 years ago

0.2.8

4 years ago

0.2.7

4 years ago

0.2.6

4 years ago

0.2.5

4 years ago

0.2.4

4 years ago

0.2.3

4 years ago

0.2.2

4 years ago

0.2.1

4 years ago

0.2.0

4 years ago

0.1.58

5 years ago

0.1.57

5 years ago

0.1.56

5 years ago

0.1.55

5 years ago

0.1.54

5 years ago

0.1.53

5 years ago

0.1.52

5 years ago

0.1.51

5 years ago

0.1.50

5 years ago

0.1.49

5 years ago

0.1.48

5 years ago

0.1.47

5 years ago

0.1.46

5 years ago

0.1.45

5 years ago

0.1.44

5 years ago

0.1.43

5 years ago

0.1.42

5 years ago

0.1.41

5 years ago

0.1.40

5 years ago

0.1.39

5 years ago

0.1.38

5 years ago

0.1.37

6 years ago

0.1.36

6 years ago

0.1.35

6 years ago

0.1.34

6 years ago

0.1.33

6 years ago

0.1.32

6 years ago

0.1.31

6 years ago

0.1.30

6 years ago

0.1.29

6 years ago

0.1.28

6 years ago

0.1.27

6 years ago

0.1.26

6 years ago

0.1.25

6 years ago

0.1.24

6 years ago

0.1.23

6 years ago

0.1.22

6 years ago

0.1.21

6 years ago

0.1.20

6 years ago

0.1.19

6 years ago

0.1.18

6 years ago

0.1.17

6 years ago

0.1.16

6 years ago

0.1.15

6 years ago

0.1.14

6 years ago

0.1.13

6 years ago

0.1.12

6 years ago

0.1.11

6 years ago

0.1.10

6 years ago

0.1.9

6 years ago

0.1.8

6 years ago

0.1.7

6 years ago

0.1.6

6 years ago

0.1.5

6 years ago

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.30

6 years ago

0.0.29

6 years ago

0.0.28

6 years ago

0.0.27

6 years ago

0.0.26

6 years ago

0.0.25

6 years ago

0.0.24

6 years ago

0.0.23

6 years ago

0.0.22

6 years ago

0.0.21

6 years ago

0.0.20

6 years ago

0.0.19

6 years ago

0.0.18

6 years ago

0.0.17

6 years ago

0.0.16

6 years ago

0.0.15

6 years ago

0.0.14

6 years ago

0.0.13

6 years ago

0.0.12

6 years ago

0.0.11

6 years ago

0.0.10

6 years ago

0.0.9

6 years ago

0.0.8

6 years ago

0.0.7

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago