MySQL存储浮点数

24 浏览
0 Comments

MySQL存储浮点数

我正在尝试保存一个浮点数,其长度为

13.00386644742523

它基本上是纬度和经度的值。

当我将其保存到数据库时,它被存储为

13.0039

0
0 Comments

MySQL存储浮点数

根据我的经验,我为一个基于ARINC424构建的导航数据库做了这个工作,最终使用了DECIMAL(18,12)来存储弧度值。

注意:浮点数和双精度浮点数不够精确,可能会导致舍入误差。

关键是,当使用角度或弧度时,我们知道值的范围-小数部分需要最多的数字。

最好的方法是使用MySQL的空间扩展。

如何在PHP Myadmin中分配它?

在SQL窗口中输入以下内容:ALTER TABLE table-name CHANGE COLUMN field-name field-name DECIMAL(18,12) ;

问题的原因是浮点数和双精度浮点数不够精确,可能会导致舍入误差。解决方法是使用DECIMAL(18,12)来存储值。另外,还可以考虑使用MySQL的空间扩展来处理这个问题。

0
0 Comments

MySQL中存储浮点数的问题是由于浮点数类型在MySQL中是近似值而不是精确值引起的。因为经纬度的精确性对于许多应用程序来说非常重要,所以使用浮点数类型存储经纬度是极其不合适的。

解决这个问题的方法是明确地指定精度,并使用DECIMAL类型而不是FLOAT类型。在DECIMAL类型中,小数点后的每一位都是重要的,不能让它们因为四舍五入而改变。

例如,可以使用以下方式来定义经纬度的字段类型:

lat DECIMAL(16,14)

这样就可以确保经纬度的精确性。更多详细信息可以在MySQL的官方文档中查看。

总结起来,使用浮点数类型存储经纬度会导致精度丢失,因此应该使用DECIMAL类型来确保经纬度的精确性。

0
0 Comments

MySQL存储浮点数(Floats)的问题的原因是数据类型定义为Float(N,4),其中N是数字,4是允许的小数位数。这就是为什么它会对存储的值进行四舍五入。

存储经纬度的最佳方法是使用空间数据类型。POINT几何类型可以保存您的值。

链接已失效。请使用此链接:dev.mysql.com/doc/refman/8.0/en/spatial-type-overview.html

解决方法是将数据类型更改为空间数据类型,使用POINT几何类型来存储经纬度值。

0