Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 返回十进制值时,如何修复此preparedStatement错误?_Java_Mysql_String_Type Conversion_Decimal - Fatal编程技术网

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

Java 返回十进制值时,如何修复此preparedStatement错误?,java,mysql,string,type-conversion,decimal,Java,Mysql,String,Type Conversion,Decimal,所以我基本上是以字符串的形式从数据库返回一个int值(不要问为什么)。现在,我必须将它与我已有的一些值进行比较,然而,这些值似乎存在差异 我的价值:204.4 数据库返回值:204.40 有没有办法去掉多余的零 我的阅读代码是: if(resultSet.getString(i) != null) { rowOfData.add(resultSet.getString(i).trim()); } else {

所以我基本上是以字符串的形式从数据库返回一个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;
for(inti=0;i
把它当作一个合适的数字怎么样

String.valueOf(resultSet.getDouble(i))
如果该值以字符串形式返回,则尾随的“0”永远不会在数字上下文中被处理并“脱落”

当作为一个数字处理时,尾随的0是不重要的,并且“下降”:


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

谢谢!我根本没想过。。。多么巧妙啊。(如果你要投否决票——这完全没关系——请解释原因,以便我可以学习、更正/注释我的答案,并防止传播错误信息!)好吧,你很清楚我不能真的做到这一点,对吗?否则我就不会有这个问题了!无论如何谢谢你的帮助。@gran_profaci当然你能做到。同样的原则也适用——即使RS返回getDouble将阻塞的内容。虽然我极力主张修复RS,但还有其他方法可以修复字符串并将其转换为双精度(或其他更合适的数字)。无论如何,希望你能解决你的问题!
204.40 == 204.4        // -> true
String.valueOf(204.40) // -> "204.4"