如何检查字符串是否可解析为float

时间:2016-08-27 15:35:00

标签: java

如何检查字符串是否可以解析为浮点数? 我尝试了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);
            }
        };
    }
}

2 个答案:

答案 0 :(得分:1)

如前所述,使用Float#parseFloat(String)但不要忘记替换逗号:

MdIconService

this great answer的启发,如果您更喜欢讨厌的正则表达式,还可以查看相应的Float#valueOf(String)

答案 1 :(得分:0)

当且仅当。

时,才能解析一个字符串浮动

strring中的所有字符都是浮点数中的有效字符(包括依赖于语言环境的十进制表示)

最好的方法是尝试解析它,如果某些内容失败,会强制代码抛出异常......

Float#parseFloat()将在这种情况下完成工作..