【发布时间】:2014-08-04 11:12:56
【问题描述】:
1)我需要检查字符串是否包含字符串字符,正确的方法是什么?
2) 有什么方法可以正确地将 String 转换为 number 然后比较这两个 number 吗? Like String = "House":1234 等于 "House":1234 但不等于 "house":123 特权:
String token ="123"; False
String token = "ā123"; or other characters True utc.
if(isChars(token)){
Long value = toLong(token);
}
谢谢!
//编辑 公共 BigDecimal eval() {
Stack<BigDecimal> stack = new Stack<BigDecimal>();
for (String token : getRPN()) {
if (operators.containsKey(token)) {
BigDecimal v1 = stack.pop();
BigDecimal v2 = stack.pop();
stack.push(operators.get(token).eval(v2, v1));
} else if (variables.containsKey(token)) {
stack.push(variables.get(token).round(mc));
} else if (functions.containsKey(token.toUpperCase())) {
Function f = functions.get(token.toUpperCase());
ArrayList<BigDecimal> p = new ArrayList<BigDecimal>(f.getNumParams());
for (int i = 0; i < f.numParams; i++) {
p.add(0, stack.pop());
}
BigDecimal fResult = f.eval(p);
stack.push(fResult);
} else if (isDate(token)) {
Long date = null;
try {
date = SU.sdf.parse(token).getTime();
} catch (ParseException e) {/* IGNORE! */
}
// mylog.pl("LONG DATE : "+new BigDecimal(date, mc));
stack.push(new BigDecimal(date, mc));
}//TODO HERE
else if (isChar(token)){
Long cha = toLong(token);
stack.push(new BigDecimal(cha, mc));
//TODO ENDS HERE
}
else {
// mylog.pl("Token : "+ token);
stack.push(new BigDecimal(token, mc));
}
}
return stack.pop().stripTrailingZeros();
}
【问题讨论】:
-
equals()方法有什么问题吗?顺便说一句,我根本没有得到你的问题。 -
嗨!我需要检查令牌是否包含字母字符,然后将此令牌转换为 Long 或 BigDecimal 并进行比较。我当然知道 abouet equals() 但这种转换需要自定义函数表达式执行
-
Like dates got 方法:Long date = sdf.parse(token).getTime();与字符串类似吗?
-
你能提供一些示例数据吗?您的问题不清楚 - 通常示例输入和输出是传达想法的最佳和最简单的方式。
-
我正在接收字符串令牌,它只能是数字、日期或 varchar。我需要捕获这个 varchar 并将其转换为 Long。编辑了第一篇文章
标签: java string numbers compare character