if(rightVal==null) rightResult = rightTemp.toString();\r
else rightResult = rightVal;\r
}\r
- \r
- if ((leftResult instanceof String) || (rightResult instanceof String)) {\r
+ if ((leftResult instanceof String) && (rightResult instanceof String)) {\r
String leftString = (leftResult.toString()).toLowerCase();\r
String rightString = (rightResult.toString()).toLowerCase();\r
if("<".equals(astRelation.op.trim())) return leftString.compareTo(rightString) < 0;\r
else if(">=".equals(astRelation.op.trim())) return leftString.compareTo(rightString) >= 0 ;\r
else throw new IllegalStateException();\r
} else {\r
- Number leftNumber = SpreadsheetGraphUtils.asNumber(leftResult);\r
- Number rightNumber = SpreadsheetGraphUtils.asNumber(rightResult);\r
+ Number leftNumber = SpreadsheetGraphUtils.asDoubleWhereEmptyStringIsZero(leftResult);\r
+ Number rightNumber = SpreadsheetGraphUtils.asDoubleWhereEmptyStringIsZero(rightResult);\r
+ if(leftNumber==null || rightNumber==null) return false;\r
if("<".equals(astRelation.op.trim())) return leftNumber.doubleValue() < rightNumber.doubleValue();\r
else if(">".equals(astRelation.op.trim())) return leftNumber.doubleValue() > rightNumber.doubleValue();\r
else if("=".equals(astRelation.op.trim())) return leftNumber.doubleValue() == rightNumber.doubleValue();\r