我的双胞胎有问题。
它仅在逗号后显示1位数字,而不是将所有内容放入我的mysql表中:

public static double getFactionDtr(int id) throws SQLException{
    double dtr = 1;
    PreparedStatement queryStatement = FactionDatabase.createStatement("SELECT dtr FROM factionmanagement WHERE id = ?");
    queryStatement.setInt(1, id);
    ResultSet rs = queryStatement.executeQuery();
    if(!rs.next()) {
        return Double.valueOf(dtr);
    }
    dtr = rs.getInt("dtr");
    queryStatement.close();
    return Double.valueOf(dtr);
}


结果是0.0并在我的mysql表0.001

最佳答案

dtr = rs.getInt("dtr");


在这里,您从结果集中获得一个整数值,该值不能包含小数部分。

替换为

dtr = rs.getDouble("dtr");


同样,您的最后一行做了一些奇怪的事情:用double包装Double,然后(使用unboxinb)将Double转换回double

return Double.valueOf(dtr);


只需返回dtr

return dtr;

10-07 22:49