Skip to content

Commit 6dffd56

Browse files
author
linzhijun
committed
修改 版本 添加TryEvaluate 的 long方法
1 parent b8a7355 commit 6dffd56

File tree

3 files changed

+46
-1
lines changed

3 files changed

+46
-1
lines changed

java/toolgood.algorithm/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>io.github.toolgood</groupId>
88
<artifactId>toolgood-algorithm</artifactId>
9-
<version>3.0.4.1</version>
9+
<version>3.1.0.0</version>
1010
<packaging>jar</packaging>
1111

1212
<name>toolgood.algorithm</name>

java/toolgood.algorithm/src/main/java/toolgood/algorithm/AlgorithmEngine.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,23 @@ public double TryEvaluate(final String exp, final double defvalue) {
268268
return defvalue;
269269
}
270270

271+
public long TryEvaluate(final String exp, final long defvalue) {
272+
try {
273+
if (Parse(exp)) {
274+
Operand obj = Evaluate();
275+
obj = obj.ToNumber("It can't be converted to number!");
276+
if (obj.IsError()) {
277+
LastError = obj.ErrorMsg();
278+
return defvalue;
279+
}
280+
return obj.LongValue();
281+
}
282+
} catch (final Exception ex) {
283+
LastError = ex.getMessage();
284+
}
285+
return defvalue;
286+
}
287+
271288
public String TryEvaluate(final String exp, final String defvalue) {
272289
try {
273290
if (Parse(exp)) {

java/toolgood.algorithm/src/main/java/toolgood/algorithm/AlgorithmEngineEx.java

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,20 @@ public double TryEvaluateCategory(final String categoryName, final double defval
354354
}
355355
return defvalue;
356356
}
357+
public long TryEvaluateCategory(final String categoryName, final long defvalue) {
358+
try {
359+
Operand obj = EvaluateCategory(categoryName);
360+
obj = obj.ToNumber("It can't be converted to number!");
361+
if (obj.IsError()) {
362+
LastError = obj.ErrorMsg();
363+
return defvalue;
364+
}
365+
return obj.LongValue();
366+
} catch (final Exception ex) {
367+
LastError = ex.getMessage();
368+
}
369+
return defvalue;
370+
}
357371

358372
public String TryEvaluateCategory(final String categoryName, final String defvalue) {
359373
try {
@@ -447,6 +461,20 @@ public double TryEvaluate(final String exp, final double defvalue) {
447461
}
448462
return defvalue;
449463
}
464+
public long TryEvaluate(final String exp, final long defvalue) {
465+
try {
466+
Operand obj = Evaluate(exp);
467+
obj = obj.ToNumber("It can't be converted to number!");
468+
if (obj.IsError()) {
469+
LastError = obj.ErrorMsg();
470+
return defvalue;
471+
}
472+
return obj.LongValue();
473+
} catch (final Exception ex) {
474+
LastError = ex.getMessage();
475+
}
476+
return defvalue;
477+
}
450478

451479
public String TryEvaluate(final String exp, final String defvalue) {
452480
try {

0 commit comments

Comments
 (0)