我的双重问题。 它只显示逗号后的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
答案 0 :(得分:1)
dtr = rs.getInt("dtr");
在这里,您从结果集中获得整数值,该值不能包含小数部分。
将其替换为
dtr = rs.getDouble("dtr");
此外,你的最后一行做了一些奇怪的事情:它用double
包裹Double
然后(使用unboxinb)将Double
转换回double
:
return Double.valueOf(dtr);
只需返回dtr
:
return dtr;