我的数据库有一个float(8,2)
字段,并且有一个带两个小数点的值(5.49)。在将其提取到php时,该值会四舍五入到一个小数点(5.5),尽管我希望它是两个小数点通过5.49并且不会四舍五舍五入。
我通过将数据类型更改为decimal
找到了一个解决方案,但由于某种原因,生产环境无法做到这一点。如何限制舍入?
我使用的是laravel-4.2 php-5.4和mysql-5.6,laravel雄辩。
提前谢谢。
MySQL允许使用非标准语法:FLOAT(M,D) or REAL(M,D) or DOUBLE PRECISION(M,D)
。这里,(M,D)
意味着总共可以存储多达M
位的值,其中D
位可以在小数点之后。例如,定义为FLOAT(7,4)
的列显示为-999.9999
。MySQL在存储值时执行舍入,因此如果将999.00009
插入到FLOAT(7,4)
列中,则近似结果为999.0001
。