我正在尝试使用 Entity Framework 并拥有一个联系人数据库,其中包含来自 Google map 的经度和纬度数据。
指南说这应该存储为 float 。
我创建了我的 POCO 实体,其中包括 Longitude
作为 float
和 Latitude
作为 float
。
我刚刚注意到,在数据库中,这些都是 real
。
在我从谷歌取回任何数据之前还有很多工作要做,我离测试还很远,我只是想知道是否有人能告诉我以后这是否会成为问题?
最佳答案
不,应该没问题。请注意,您可能无法获得与从 Google map 接收到的值相同的精确值,因为它会以十进制格式的文本表示。但是,这实际上是一个物理量,因此更适合作为浮点/ double /实数/(您喜欢的任何二进制浮点类型)而不是十进制。 (小数更适合人造数量 - 特别是货币。)
如果您查看 documentation for float
and real
您会看到 real
实际上是 float(24)
- 一种 32 位浮点二进制点类型,就像 C# 中的 float
一样。
编辑:如评论中所述,如果您想要超过 float
提供的 7-8 位有效数字,那么您可能希望在 C# 中使用 double
,这意味着 SQL Server 中的 float(53)
。
关于sql-server - SQL Server 中的 C# float 转实数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7525021/