笔记——BigDecimal存储到数据库时decimal小数自动变为0

今天做支付模块,处理金额的时候,发现存储的bigDecimal("0.1"),存储到数据库中变为了0.。

如下图:

笔记——BigDecimal存储到数据库时decimal小数自动变为0

 检查了一下日志,发现存储的数据的确没有问题,因此将问题的根源确定到了数据库的头上。

后来才发现,在建表的时候,将小数点默认为0了,如下图。

笔记——BigDecimal存储到数据库时decimal小数自动变为0

这真是太呆瓜了。果断改了为了4。

笔记——BigDecimal存储到数据库时decimal小数自动变为0

现在就没有问题了。

笔记——BigDecimal存储到数据库时decimal小数自动变为0

所以在使用decimal类型的数据的时候,一定要记得精度的设置,否则就像我一样呆瓜咯!