条令/MySQL,不精确的双精度?

条令/MySQL,不精确的双精度?,mysql,doctrine-orm,floating-point,gps,Mysql,Doctrine Orm,Floating Point,Gps,我想保存GPS坐标。它的双重格式。省钱没问题 47.60065481725239 18.03011322140128 值出现,但当我尝试读取它们时,我得到 47.600654817252 18.030113221401 略不精确。您看到了一个浮点数固有不精确性的好例子。您可能会发现,查找“的概念”很有帮助 商用GPS系统本身的精度远不及您用DOUBLE表示的精度。对于大多数应用程序,FLOAT非常有用。但是,如果您知道术语Datum或Universal transversal Mercato

我想保存GPS坐标。它的双重格式。省钱没问题

47.60065481725239
18.03011322140128
值出现,但当我尝试读取它们时,我得到

47.600654817252
18.030113221401

略不精确。

您看到了一个浮点数固有不精确性的好例子。您可能会发现,查找“的概念”很有帮助

商用GPS系统本身的精度远不及您用
DOUBLE
表示的精度。对于大多数应用程序,
FLOAT
非常有用。但是,如果您知道术语Datum或Universal transversal Mercator,并且它们对您的应用程序很重要,则可能需要使用
DOUBLE

尽管如此,由于双ε误差引起的GPS定位不准确度约为Ångstrom单位的十分之一(纳米的百分之一)。你甚至不能让原子静止足够长的时间来如此精确地测量它们的位置。所以别担心


请学习浮点数是如何工作的

您看到了一个很好的例子,浮点数固有的不精确性。您可能会发现,查找“的概念”很有帮助

商用GPS系统本身的精度远不及您用
DOUBLE
表示的精度。对于大多数应用程序,
FLOAT
非常有用。但是,如果您知道术语Datum或Universal transversal Mercator,并且它们对您的应用程序很重要,则可能需要使用
DOUBLE

尽管如此,由于双ε误差引起的GPS定位不准确度约为Ångstrom单位的十分之一(纳米的百分之一)。你甚至不能让原子静止足够长的时间来如此精确地测量它们的位置。所以别担心


请学习浮点数是如何工作的

我想说的是,值得您探索MySQL中的
decimal
数据类型:

如果将列数据类型设置为
decimal(16,14)
,则会在。14岁以后


请注意,我想知道GPS坐标的精度到底意味着什么…

我想说,在MySQL中探索
decimal
数据类型是值得的:

如果将列数据类型设置为
decimal(16,14)
,则会在。14岁以后


请注意,我想知道GPS坐标的精度到底意味着什么…

必要的是,浮点数的精度有限:双精度只能保证存储。然而,在你的情况下,这应该足够了:地球的半径是40075公里,所以一个
双精度
应该能够将你的位置存储到至少40纳米,这是(想必你的输入没有这么精确)。

必要时,浮点数的精度有限:只能保证存储
double
。然而,在你的情况下,这应该足够了:地球的半径是40075公里,所以一个
双精度
应该能够将你的位置存储到至少40纳米,这是(想必你的输入没有这么准确)。

我确实担心,因为它在谷歌地图上不是100%准确的。我更担心,因为它在谷歌地图上不再是100%准确的,我认为这是一个不需要小数类型的很好的例子。我认为这是一个不需要小数类型的很好的例子。