我正在使用 gmaps4rails 并且为了存储来自用户标记的确切坐标,我使用字符串数据类型来表示纬度和经度。
但是,即使页面上的纬度/经度字段填充了整个数字(即37.79560594600171
和30.794677734375
),当我检查日志时,这些是插入的数字:37.818138
和30.7336038
。它们以某种方式近似?!
但是,如果我从编辑屏幕编辑该项目,则整个值都会毫无问题地存储。我可以在我的日志和数据库中看到这一点。
我还尝试使用小数(精度为 16,比例为 14)而不是字符串。但是,我的数据库仍然会存储一个长数字的近似部分,然后用 0 填充其余部分。例如,像这样的东西:44.31223760000000
.
我使用 Ruby 2 和 Rails 4 和 mysql 作为数据库。但我认为问题出在 activerecord 上,因为它是将值存储在数据库中的那个?
这些来自我的新/编辑表单:
<%= f.label :latitude %>
<%= f.text_field :latitude %>
<%= f.label :longitude %>
<%= f.text_field :longitude %>
任何想法将不胜感激。谢谢!