Skip to content

Commit 26625a9

Browse files
author
linzhijun
committed
修改 README
1 parent a03b040 commit 26625a9

File tree

4 files changed

+101
-17
lines changed

4 files changed

+101
-17
lines changed

README-EN.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,6 @@ Bool to string, false to`FALSE`, true to`TRUE`.
5353
The default index is`excel index`. If you want to use c# index, please set`UseExcelIndex`to`false`.
5454

5555

56-
Chinese symbols are automatically converted to English symbols: `brackets`, `square brackets`, `commas`, `quotation marks`, `double quotation marks`.
57-
58-
5956
Chinese symbols are automatically converted into English symbols: `brackets`, `commas`, `quotation marks`, `double quotation marks``addition`,`subtraction`, `multiplication`, `division` , `equal sign`.
6057

6158

@@ -103,9 +100,6 @@ Note: `find` is an Excel formula , find (the string to be searched, the string t
103100
c.EvaluateFormula("'圆'-[半径]-高", '-'); // Return: 圆-3-10
104101
c.GetSimplifiedFormula("半径*if(半径>2, 1+4, 3)"); // Return: 3 * 5
105102
```
106-
Parameters are defined in square brackets, such as `[parameter name]`.
107-
108-
109103
Parameter definitions, such as`[parameter name]`, `【parameter name】` , `#parameter name#` , `@parameterName`.
110104

111105
Note: You can also use `AddParameter`, `AddParameterFromJson` to add methods, and use `DiyFunction`+= to customize functions.
@@ -1036,6 +1030,18 @@ Note: The `UseLocalTime` attribute affects the conversion of `DateValue`/`Timest
10361030
<tr>
10371031
<td>Json ★</td><td>json(text)<br>Dynamic json query.</td> <td></td>
10381032
</tr>
1033+
<tr>
1034+
<td>Error </td><td>Error(text)<br> Proactively throwing error. </td> <td></td>
1035+
</tr>
1036+
<tr>
1037+
<td>HAS ★<br>HASKEY ★<br>CONTAINS ★<br>CONTAINSKEY ★</td><td>HAS(json/array,text)<br>Does the JSON format include a Key<br> Does the array contain values </td> <td></td>
1038+
</tr>
1039+
<tr>
1040+
<td>HASVALUE ★<br>CONTAINSVALUE ★</td><td>HASVALUE(json/array, text)<br>Does the JSON format include a Value<br> Does the array contain values</td> <td></td>
1041+
</tr>
1042+
<tr>
1043+
<td>PARAM<br>PARAMETER<br>GETPARAMETER </td><td>GETPARAMETER(text)<br> Dynamically obtaining parameters </td> <td></td>
1044+
</tr>
10391045
</table>
10401046

10411047

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1022,5 +1022,17 @@ bool转数值,假为`0`,真为`1`。bool转字符串,假为`FALSE`,真
10221022
<tr>
10231023
<td>Json ★</td><td>json(文本)<br>动态json查询。</td> <td></td>
10241024
</tr>
1025+
<tr>
1026+
<td>Error </td><td>Error(文本)<br>主动抛错。</td> <td></td>
1027+
</tr>
1028+
<tr>
1029+
<td>HAS ★<br>HASKEY ★<br>CONTAINS ★<br>CONTAINSKEY ★</td><td>HAS(json/数组,文本)<br>json格式 是否包含Key<br>数组是否包含值</td> <td></td>
1030+
</tr>
1031+
<tr>
1032+
<td>HASVALUE ★<br>CONTAINSVALUE ★</td><td>HASVALUE(json/数组, 文本)<br>json格式 是否包含Value<br>数组是否包含值</td> <td></td>
1033+
</tr>
1034+
<tr>
1035+
<td>PARAM<br>PARAMETER<br>GETPARAMETER </td><td>GETPARAMETER(文本)<br>动态获取参数</td> <td></td>
1036+
</tr>
10251037
</table>
10261038

java/toolgood.algorithm/README-EN.md

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ ToolGood.Algorithm is a powerful, lightweight, `Excel formula` compatible algori
2020
<dependency>
2121
<groupId>io.github.toolgood</groupId>
2222
<artifactId>toolgood-algorithm</artifactId>
23-
<version>3.0.3.0</version>
23+
<version>3.5.0.1</version>
2424
</dependency>
2525
```
2626

@@ -43,7 +43,8 @@ ToolGood.Algorithm is a powerful, lightweight, `Excel formula` compatible algori
4343
String j = engine.TryEvaluate("json('{\"Name\":\"William Shakespeare\", \"Age\":51, \"Birthday\":\"04/26/1564 00:00:00\"}').Age", "");//返回51
4444
String k = engine.TryEvaluate("json('{\"Name\":\"William Shakespeare \", \"Age\":51, \"Birthday\":\"04/26/1564 00:00:00\"}')[Name].Trim()", "");//返回"William Shakespeare" (不带空格)
4545
String l = engine.TryEvaluate("json('{\"Name1\":\"William Shakespeare \", \"Age\":51, \"Birthday\":\"04/26/1564 00:00:00\"}')['Name'& 1].Trim().substring(2, 3)", ""); ;//返回"ill"
46-
46+
String n = engine.TryEvaluate("{Name:\"William Shakespeare\", Age:51, Birthday:\"04/26/1564 00:00:00\"}.Age", "");//Return 51 返回51
47+
boolean m = engine.TryEvaluate("{1,2,3,4,5,6}.has(13)", true);//Return false 返回false
4748
```
4849
Constants`pi`, `e`, `true`, `false`are supported.
4950

@@ -55,8 +56,7 @@ Bool to string, false to`FALSE`, true to`TRUE`.
5556

5657
The default index is`excel index`. If you want to use c# index, please set`UseExcelIndex`to`false`.
5758

58-
59-
Chinese symbols are automatically converted to English symbols: `brackets`, `square brackets`, `commas`, `quotation marks`, `double quotation marks`.
59+
Chinese symbols are automatically converted into English symbols: `brackets`, `commas`, `quotation marks`, `double quotation marks``addition`,`subtraction`, `multiplication`, `division` , `equal sign`.
6060

6161
Note: Use `&` for string concatenation.
6262

@@ -99,14 +99,14 @@ public class Cylinder extends AlgorithmEngine {
9999
c.EvaluateFormula("'圆'-[半径]-高", '-'); // Return: 圆-3-10
100100
c.GetSimplifiedFormula("半径*if(半径>2, 1+4, 3)"); // Return: 3 * 5
101101
```
102-
Parameters are defined in square brackets, such as `[parameter name]`.
102+
Parameter definitions, such as`[parameter name]`, `【parameter name】` , `#parameter name#` , `@parameterName`.
103103

104104
Note: You can also use `AddParameter`, `AddParameterFromJson` to add methods, and use `DiyFunction` to customize functions.
105105

106106
Note 2: use `AlgorithmEngineHelper.GetDiyNames` get `parameter name` and `custom function name`.
107107

108108
## Custom parameters
109-
``` csharp
109+
``` java
110110
AlgorithmEngineHelper helper = new AlgorithmEngineHelper();
111111
helper.IsKeywords("false"); // return true
112112
helper.IsKeywords("true"); // return true
@@ -118,6 +118,27 @@ Note 2: use `AlgorithmEngineHelper.GetDiyNames` get `parameter name` and `custom
118118

119119
```
120120

121+
## Support Unit
122+
123+
Standard units can be set: `DistanceUnit` (default:`m`), `AreaUnit`(default:`m2`), `VolumeUnit`(default:`m3`), `MassUnit`(default:`kg`).
124+
125+
Note: When calculating the formula, first convert the quantity with units into standard units, and then perform numerical calculations.
126+
127+
``` java
128+
AlgorithmEngine engine = new AlgorithmEngine();
129+
boolean a = engine.TryEvaluate("1=1m", false); // return true
130+
boolean b = engine.TryEvaluate("1=1m2", false); // return true
131+
boolean c = engine.TryEvaluate("1=1m3", false); // return true
132+
boolean d = engine.TryEvaluate("1=1kg", false); // return true
133+
134+
// Unit Conversion 单位转化
135+
var num = AlgorithmEngineHelper.UnitConversion(1M,"","千米");
136+
137+
// Example of not throwing mistakes 不抛错例子
138+
boolean error = engine.TryEvaluate("1m=1m2", false); // return true
139+
```
140+
141+
121142
## Excel Formula
122143

123144
Functions: `logical functions`, `mathematics and trigonometric functions`, `text functions`, `statistical functions`, `date and time functions`
@@ -1007,6 +1028,18 @@ Note: The `UseLocalTime` attribute affects the conversion of `DateValue`/`Timest
10071028
<tr>
10081029
<td>Json ★</td><td>json(text)<br>Dynamic json query.</td> <td></td>
10091030
</tr>
1031+
<tr>
1032+
<td>Error </td><td>Error(text)<br> Proactively throwing error. </td> <td></td>
1033+
</tr>
1034+
<tr>
1035+
<td>HAS ★<br>HASKEY ★<br>CONTAINS ★<br>CONTAINSKEY ★</td><td>HAS(json/array,text)<br>Does the JSON format include a Key<br> Does the array contain values </td> <td></td>
1036+
</tr>
1037+
<tr>
1038+
<td>HASVALUE ★<br>CONTAINSVALUE ★</td><td>HASVALUE(json/array, text)<br>Does the JSON format include a Value<br> Does the array contain values</td> <td></td>
1039+
</tr>
1040+
<tr>
1041+
<td>PARAM<br>PARAMETER<br>GETPARAMETER </td><td>GETPARAMETER(text)<br> Dynamically obtaining parameters </td> <td></td>
1042+
</tr>
10101043
</table>
10111044

10121045

java/toolgood.algorithm/README.md

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ ToolGood.Algorithm是一个功能强大、轻量级、兼容`Excel公式`的算
2222
<dependency>
2323
<groupId>io.github.toolgood</groupId>
2424
<artifactId>toolgood-algorithm</artifactId>
25-
<version>3.0.3.0</version>
25+
<version>3.5.0.1</version>
2626
</dependency>
2727
```
2828

@@ -45,7 +45,8 @@ ToolGood.Algorithm是一个功能强大、轻量级、兼容`Excel公式`的算
4545
String j = engine.TryEvaluate("json('{\"Name\":\"William Shakespeare\", \"Age\":51, \"Birthday\":\"04/26/1564 00:00:00\"}').Age", "");//返回51
4646
String k = engine.TryEvaluate("json('{\"Name\":\"William Shakespeare \", \"Age\":51, \"Birthday\":\"04/26/1564 00:00:00\"}')[Name].Trim()", "");//返回"William Shakespeare" (不带空格)
4747
String l = engine.TryEvaluate("json('{\"Name1\":\"William Shakespeare \", \"Age\":51, \"Birthday\":\"04/26/1564 00:00:00\"}')['Name'& 1].Trim().substring(2, 3)", ""); ;//返回"ill"
48-
48+
String n = engine.TryEvaluate("{Name:\"William Shakespeare\", Age:51, Birthday:\"04/26/1564 00:00:00\"}.Age", "");//Return 51 返回51
49+
boolean m = engine.TryEvaluate("{1,2,3,4,5,6}.has(13)", true);//Return false 返回false
4950
```
5051
支持常量`pi`, `e`, `true`, `false`
5152

@@ -55,7 +56,7 @@ bool转数值,假为`0`,真为`1`。bool转字符串,假为`FALSE`,真
5556

5657
索引默认为`Excel索引`,如果想用c#索引,请设置`UseExcelIndex``false`
5758

58-
中文符号自动转成英文符号:`括号`, `方括号`, `逗号`, `引号`, `双引号`
59+
中文符号自动转成英文符号:`括号`, `逗号`, `引号`, `双引号`,``````,``,`等号`
5960

6061
注:字符串拼接使用`&`
6162

@@ -98,14 +99,14 @@ public class Cylinder extends AlgorithmEngine {
9899
c.EvaluateFormula("'圆'-[半径]-高", '-'); // Return: 圆-3-10
99100
c.GetSimplifiedFormula("半径*if(半径>2, 1+4, 3)"); // Return: 3 * 5
100101
```
101-
参数以方括号定义,如 `[参数名]`
102+
参数定义,如 `[参数名]``【参数名】``#参数名#``@参数名`
102103

103104
注:还可以使用`AddParameter``AddParameterFromJson`添加方法,使用`DiyFunction`来自定义函数。
104105

105106
注2:使用 `AlgorithmEngineHelper.GetDiyNames` 获取`参数名``自定义方法名`
106107

107108
## 自定义参数
108-
``` csharp
109+
``` java
109110
AlgorithmEngineHelper helper = new AlgorithmEngineHelper();
110111
helper.IsKeywords("false"); // return true
111112
helper.IsKeywords("true"); // return true
@@ -116,6 +117,26 @@ public class Cylinder extends AlgorithmEngine {
116117
assertEquals("d1", p5.Parameters.get(0));
117118
```
118119

120+
## 支持单位
121+
122+
可设置标准单位:长度`DistanceUnit`(默认:`m`)、面积`AreaUnit`(默认:`m2`)、体积`VolumeUnit`(默认:`m3`)、重量`MassUnit`(默认:`kg`)。
123+
124+
注:公式计算时,先将带单位的数量转成标准单位,再进行数字计算。
125+
126+
``` java
127+
AlgorithmEngine engine = new AlgorithmEngine();
128+
boolean a = engine.TryEvaluate("1=1m", false); // return true
129+
boolean b = engine.TryEvaluate("1=1m2", false); // return true
130+
boolean c = engine.TryEvaluate("1=1m3", false); // return true
131+
boolean d = engine.TryEvaluate("1=1kg", false); // return true
132+
133+
// 单位转化
134+
var num = AlgorithmEngineHelper.UnitConversion(1M,"","千米");
135+
136+
// 不抛错例子
137+
boolean error = engine.TryEvaluate("1m=1m2", false); // return true
138+
```
139+
119140
## Excel公式
120141

121142
函数:`逻辑函数``数学与三角函数``文本函数``统计函数``日期与时间函数`
@@ -1005,5 +1026,17 @@ public class Cylinder extends AlgorithmEngine {
10051026
<tr>
10061027
<td>Json ★</td><td>json(文本)<br>动态json查询。</td> <td></td>
10071028
</tr>
1029+
<tr>
1030+
<td>Error </td><td>Error(文本)<br>主动抛错。</td> <td></td>
1031+
</tr>
1032+
<tr>
1033+
<td>HAS ★<br>HASKEY ★<br>CONTAINS ★<br>CONTAINSKEY ★</td><td>HAS(json/数组,文本)<br>json格式 是否包含Key<br>数组是否包含值</td> <td></td>
1034+
</tr>
1035+
<tr>
1036+
<td>HASVALUE ★<br>CONTAINSVALUE ★</td><td>HASVALUE(json/数组, 文本)<br>json格式 是否包含Value<br>数组是否包含值</td> <td></td>
1037+
</tr>
1038+
<tr>
1039+
<td>PARAM<br>PARAMETER<br>GETPARAMETER </td><td>GETPARAMETER(文本)<br>动态获取参数</td> <td></td>
1040+
</tr>
10081041
</table>
10091042

0 commit comments

Comments
 (0)