Laravel 存储纬度和经度

ONY*_*NYX 11 php mysql latitude-longitude laravel

我正在存储纬度和经度,我遇到的问题是在存储它时它会被四舍五入,这不是我想要的。否则,在地图上使用纬度和经度时,这些字段值将变得不正确。

这就是我正在使用的:

$table->decimal('lat', 10, 8)->nullable();
$table->decimal('lng', 11, 8)->nullable();
Run Code Online (Sandbox Code Playgroud)

当我只想要 -40.9556026999 时,这个值 -40.95560269999999 会变成 -40.9556027000

小智 14

在迁移中使用双精度而不是小数,请参见下文

$table->double('lat')->nullable();
$table->double('lng')->nullable();
Run Code Online (Sandbox Code Playgroud)

  • 您也可以指定小数部分和整数部分,如下所示;```$table->double('lat', 10,8)->nullable(); $table->double('lng', 11,8)->nullable();``` (2认同)

Mat*_*nto -3

您的字段的数据类型可能不是十进制,请确保您的 lat long 字段也是十进制