日期:2014-05-16 浏览次数:20823 次
往数据库里面插入小数,结果被四舍五入为整数。当时看见这个情况让我很是奇怪。经不完全查证原因如下:
当数据大于32767小数的部分就没法存储(出自:http://www.phpzy.com/mysqlchangyongyujuwenda/39441.html?),经验证,确实如此。但是听说:A precision from 0 to 23 results in a four-byte single-precision?FLOAT
?column。看起来不应该没有小数。
解决办法:可以使用double或者BigDecimal代替。
顺便说一下hibernate定义精度的注解语句:
@Column(precision=23,scale=3)
precision:精度。
scale:小数位数。
//注此语句对于mysql的float没有效果。