如何检查字符串是否可以解析为浮点数?
我尝试了common-lang
NumberUtils
库,但有时我收到了错误的回报。
我不知道是否重要,但我的浮点数使用逗号分隔符。
public TableCell call(TableColumn param) {
return new TableCell<Course, String>() {
@Override
public void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if (NumberUtils.isParsable(item)) {
if (NumberUtils.toFloat(item) >= 5) {
this.setTextFill(Color.GREEN);
} else if (NumberUtils.toFloat(item) < 5) {
this.setTextFill(Color.RED);
}
setText(item);
}
};
}
}
答案 0 :(得分:1)
如前所述,使用Float#parseFloat(String)
但不要忘记替换逗号:
MdIconService
受this great answer的启发,如果您更喜欢讨厌的正则表达式,还可以查看相应的Float#valueOf(String)
。
答案 1 :(得分:0)
当且仅当。
时,才能解析一个字符串浮动strring中的所有字符都是浮点数中的有效字符(包括依赖于语言环境的十进制表示)
最好的方法是尝试解析它,如果某些内容失败,会强制代码抛出异常......
Float#parseFloat()
将在这种情况下完成工作..