【发布时间】:2018-07-09 01:03:21
【问题描述】:
也许这是一个更一般的 MySQL 或 PHP 问题,因为我缺乏这些领域的知识,但是...
所以我在 Laravel 5.4 上有一个应用,数据库是 MySQL 5.7.17
我在 talbe 中有一个专栏,通过迁移创建:
$table->float('operator_price', 9, 2)->nullable()->change();
(根据Laravel docs,这应该意味着该列的类型为“FLOAT”,总位数为 9,小数点后为 2)
当用户在表单字段中输入 1000.25 并保存时 - 它被保存为“1000.25”,
但如果用户输入 10000.25 - 它会保存为“10000.2”。
如果数字超过 9999,它会删除最后一位。
可能是什么原因,我该如何解决?
谢谢。
更新:我已经完成了 SHOW COLUMNS FROM tours;
它显示列“operator_price”的类型为“float”:
【问题讨论】:
-
存储前的验证怎么样?
['amount' => 'max:9999'] -
您是否确定您的迁移成功并且该字段实际上是
float(8,2)类型? -
请检查您的 phpmyadmin
operator_price列类型 -
@Sohel0415 - 是的,它的类型为“float”
-
@LeventeOtta,存储前没有这样的验证。
标签: php mysql laravel floating-point