Tengo valores de latitud y longitud en mi base de datos a 10 cifras decimales:¿Cómo forzar un número a 10 decimales en Ruby on Rails?
+----+---------------+-----------------+
| id | lat | lng |
+----+---------------+-----------------+
| 55 | 34.4208305000 | -119.6981901000 |
| 56 | 30.2671530000 | -97.7430608000 |
necesito para consultar la base de datos para un partido, pero mi variable actual es un flotador con sólo 6 decimales:
self.lat => 30.267153
¿Cómo puedo convertir mi flotador para tener los decimales adicionales para que pueda obtener una coincidencia?
myloc = Marker.where("lat = ?", self.lat)
He visto los documentos Decimal y BigDecimal. ¿Son esos el mejor enfoque?
Ruby 1.8.7, Rails 3. Gracias por cualquier consejo.
Genial, eso funcionó, gracias. Es mysql. Los campos lat/lng se definen como tipo decimal (15,10). Este es un caso especial para verificar una ubicación duplicada antes de almacenar un marcador nuevo, por lo que no termina con marcadores uno encima del otro, por lo tanto, la comparación exacta. – heyrolled
Estoy bastante seguro de que el punto de Phrogz fue que, por lo general, no es prudente comparar los valores de coma flotante para la igualdad. –
Gracias por señalar eso, lo entiendo ahora. Voy a reflexionar sobre eso y hacer algunas pruebas. – heyrolled