A veces, los tipos de datos de Activerecord me confunden. Err, a menudo. Una de mis preguntas eternas es, para un caso dado,
¿Debo usar
:decimalo:float?
A menudo me he encontrado con este enlace, ActiveRecord:: decimal vs: float? , pero las respuestas no son lo suficientemente claras para estar seguro:
He visto muchos hilos en los que la gente recomienda de plano que nunca use flotante y siempre use decimal. También he visto sugerencias de algunas personas para usar float solo para aplicaciones científicas.
Aquí hay algunos casos de ejemplo:
- Geolocalización / latitud / longitud:
-45.756688,120.5777777, ... - Relación / porcentaje:
0.9,1.25,1.333,1.4143, ...
Lo he usado :decimalen el pasado, pero descubrí que tratar con BigDecimalobjetos en Ruby era innecesariamente incómodo en comparación con un flotador. También sé que puedo usar :integerpara representar dinero / centavos, por ejemplo, pero no encaja en otros casos, por ejemplo, cuando las cantidades en las que la precisión podría cambiar con el tiempo.
- ¿Cuáles son las ventajas / desventajas de usar cada uno?
- ¿Cuáles serían algunas buenas reglas generales para saber qué tipo usar?