EGX:
私はダブルを返すメソッドを持っています
public double getOdds() {
return odds;
}
これはcompletly罰金に動作します。データが表示されている場合しかし、問題は、それが自動的に挿入された値を切り上げています。私はそれをprevant、そして2つの小数で値を取得したいです。
ここで私はメソッドを呼び出して、私のJSPがあります。ArrayListの「賭け」は、ユーザが入力したすべての値で構成されています。上述したように、ユーザが2.75に入ったときしかし、それは3.0を返します。
ArrayList <bets> bets = betsDAO.getBets(x, y);
for (bets bet : bets) {
<td><%=bet.getOdds()%></td>
}
私はまだJavaへの新たなんだ、とソリューションを探して試してみましたが、残念ながら私はこの問題を解決することができていません。
アンドレアス:
ユーザーは2.75に入るとき、それは3.0を返します。
値はいくつかの点でゼロ小数点に制限されている場合には発生するための唯一の理由です。Javaはのためのことを行いますのみint
(またはlong
またはshort
またはchar
またはbyte
)値、およびそれらが切り捨てられ、その結果は次のようになり2
、ありません3.0
。
唯一のラウンドツー最寄りの I ENVISIONはによって引き起こされることができ、データベースまたはJDBCドライバ:
データベース内の列のタイプがある
INTEGER
か、NUMBER(5,0)
またはそのような何か。あなたのデータベーススキーマを確認してください。データベースを読み込むコードは(
betsDAO
)を呼び出しているgetInt(...)
と、JDBCドライバはあなたのために値を丸めます。
とにかく、エラーは示されていないコードです。