返回十进制值时如何修复此preparedStatement错误?

时间:2013-07-16 00:58:04

标签: java mysql string type-conversion decimal

所以我基本上从数据库返回一个int值作为字符串(不要问为什么)。现在,我必须将它与我已经拥有的一些值进行比较,但是,值似乎存在差异。

我的价值:204.4 数据库返回值:204.40

有没有办法删除额外的零?

我的阅读代码是:

            if(resultSet.getString(i) != null) {
                rowOfData.add(resultSet.getString(i).trim());
            } else {
                rowOfData.add("");
            }  

比较是:

    for (int i = 0; i < inputRow.size(); i++) { 
        if(!tableRowData.contains(inputRow.get(i))) {
            return false;
        }
    }
    return true;

1 个答案:

答案 0 :(得分:-1)

如何将其视为适当的数字?

String.valueOf(resultSet.getDouble(i))

如果值返回为一个字符串,则尾随的“0”永远不会有机会在数字上下文中处理并“脱落”。

当将视为一个数字时,尾随的0是无关紧要的并且“脱落”:

204.40 == 204.4        // -> true
String.valueOf(204.40) // -> "204.4"

当然,使用数字而不是将其[后]转换为字符串可能更合适..