2017-05-28 122 views
0

我有一个问题,我的双。 只显示逗号而不是把一切都在我的mysql表后1位:Java - 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

+0

备注:为什么你一直在使用'Double.valueOf'?这在这种情况下是无用的,'dtr'已经是'双' – BackSlash

回答

1
dtr = rs.getInt("dtr"); 

在这里,你会得到一个整数您的结果集中的值不能包含小数部分。

dtr = rs.getDouble("dtr"); 

同时更换它,你的最后一行做了一些奇怪的事情:它包装doubleDouble,然后(使用unboxinb)转换Doubledouble

return Double.valueOf(dtr); 

只是返回dtr

return dtr; 
+0

哦,是的,我还没有看到..谢谢<3 – Arthur