我试图用MySQL (InnoDb)存储一个货币值,我需要编写查询来聚合一些记录(sum),而且我对输出的精度有问题!
我已经将字段的类型设置为双倍,并且我的值是精确的,但是MySQL的操作符并不像我所需要的那么精确。就其价值而言,PHP的默认操作符也不够精确,但是PHP中有一些bc*函数可以做到这一点。
我想知道是否有任何方法来调整MySQL操作符的精度?包括聚合函数?
作为记录,存储到MySQL并从它检索不会影响我的值--这意味着double是我的字段的理想类型。
发布于 2014-06-22 11:10:17
因为货币需要精确的表示,所以不要使用近似的数据类型,比如double,它是一个浮点。您可以使用定点数字数据类型,如下所示
numeric(15,2)请参阅MySQL数字类型
当保持精确的精度(例如货币数据)时,使用这些类型。
https://stackoverflow.com/questions/24350585
复制相似问题