2017-05-28 79 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