3

jpa(EclipseLink)を介してmysqlにfloat値を格納する際の精度に問題があります。私のコードでは、フィールドに次のように注釈を付けています

@Column(precision=15, scale=7)
private float x;

しかし、322,249878のような値を格納すると、データベースは322.25を返します。何が起こっているのですか:)?

4

1 に答える 1

7

precisionおよび設定は、正確な数値タイプ(つまり、JavaおよびMySQL)scaleにのみ適用されます。BigDecimaldecimal

浮動小数点型(floatおよびdouble)はその性質上概算であるため、これらの設定は意味がありません。

また、このフィールドのタイプをに変更する場合BigDecimal は、正確な値で初期化する必要があることにも注意してください。

于 2012-06-19T15:13:40.910 に答える