📄 expressionevaluator.java
字号:
package vswaba.utils;
import waba.ui.*;
import waba.fx.*;
import waba.sys.*;
import waba.util.*;
public class ExpressionEvaluator extends Object
{
public static final byte EXPT_STRING = 1;
public static final byte EXPT_INTEGER = 2;
public static final byte EXPT_DOUBLE = 3;
public static final byte EXPT_DATE = 4;
public static final byte OPER_EQUAL = 1;
public static final byte OPER_LESS = 2;
public static final byte OPER_MORE = 3;
private byte p_exptype;
private byte p_operator;
private int p_ivalue;
private double p_dvalue;
private String p_svalue;
private String p_dtvalue;
public ExpressionEvaluator(byte exptype, byte operator, String value)
{
p_exptype = exptype;
p_operator = operator;
switch (exptype)
{
case EXPT_STRING:
{
p_svalue = value;
break;
}
case EXPT_INTEGER:
{
p_ivalue = Convert.toInt(value);
break;
}
case EXPT_DOUBLE:
{
p_dvalue = Convert.toDouble(value);
break;
}
case EXPT_DATE:
{
p_dtvalue = p_svalue;
break;
}
}
}
public boolean Evaluate(String value)
{
boolean result = false;
int c_ivalue;
double c_dvalue;
String c_svalue;
String c_dtvalue;
switch (p_exptype)
{
case EXPT_STRING:
{
c_svalue = value;
switch (p_operator)
{
case OPER_EQUAL:
{
result = (c_svalue.compareTo(p_svalue) == 0);
break;
}
case OPER_LESS:
{
result = (c_svalue.compareTo(p_svalue) < 0);
break;
}
case OPER_MORE:
{
result = (c_svalue.compareTo(p_svalue) > 0);
break;
}
}
break;
}
case EXPT_INTEGER:
{
c_ivalue = Convert.toInt(value);
switch (p_operator)
{
case OPER_EQUAL:
{
result = (c_ivalue == p_ivalue);
break;
}
case OPER_LESS:
{
result = (c_ivalue < p_ivalue);
break;
}
case OPER_MORE:
{
result = (c_ivalue > p_ivalue);
break;
}
}
break;
}
case EXPT_DOUBLE:
{
c_dvalue = Convert.toDouble(value);
switch (p_operator)
{
case OPER_EQUAL:
{
result = (c_dvalue == p_dvalue);
break;
}
case OPER_LESS:
{
result = (c_dvalue < p_dvalue);
break;
}
case OPER_MORE:
{
result = (c_dvalue > p_dvalue);
break;
}
}
break;
}
case EXPT_DATE:
{
c_dtvalue = p_svalue;
switch (p_operator)
{
case OPER_EQUAL:
{
result = (c_dtvalue.compareTo(p_dtvalue) == 0);
break;
}
case OPER_LESS:
{
result = (c_dtvalue.compareTo(p_dtvalue) < 0);
break;
}
case OPER_MORE:
{
result = (c_dtvalue.compareTo(p_dtvalue) > 0);
break;
}
}
break;
}
}
return result;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -