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

标签 java

如何检查字符串是否可以解析为 float ? 我尝试了 common-lang NumberUtils 库,但有时我得到错误的返回。

我不知道这是否重要,但我的 float 使用逗号分隔符。

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);
            }
        };
    }
}

最佳答案

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

try {
    float val = Float.parseFloat(string.replace(',', '.'));
} catch (NumberFormatException e) {
    // Executed iff the string couldn't be parsed.
}

灵感来自this great answer ,您还可以查看对应的Float#valueOf(String)如果您更喜欢讨厌的正则表达式。

关于java - 如何检查字符串是否可解析为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39182829/

相关文章:

java - 在 Play 框架和 Django 之间共享 session

java - 进程中创建的字符串对象总数?

java - JMS 消息存储在 WebLogic 9.2 服务器中的哪里?

java - 在 Eclipse 中,如何将 Open Type 快捷方式限制为仅显示当前项目中的源文件

java - 使用 SparkConf 连接到远程 Cassandra 集群时如何获得 pass "requires authentication"?

java - 仅根据步行时间绘制 map

Java - 如何在粘贴操作上设置启用()?

java - OOP - 向类添加属性的最佳方法

java - 模拟无法为测试用例生成文本文件

javascript - 安装node-java时出现LNK2001错误