我在mysql中通过jpa (EclipseLink)存储浮点值时遇到了精度问题。在我的代码中,我用
@Column(precision=15, scale=7)
private float x;但是当我存储像322,249878这样的值时,数据库返回322.25。这是怎么回事:)?
发布于 2012-06-19 23:13:41
precision和scale设置仅适用于精确的数字类型(即Java中的BigDecimal和MySQL中的decimal )。
浮点类型(float和double)本质上是近似的,因此这些设置对它们没有意义。
另请注意,如果您将此字段的类型更改为BigDecimal you should initialize it with precise values as well。
https://stackoverflow.com/questions/11103705
复制相似问题