Parfois, les types de données Activerecord me confondent. Euh, souvent. L'une de mes questions éternelles est, pour un cas donné,
Dois-je utiliser
:decimalou:float?
J'ai souvent rencontré ce lien, ActiveRecord:: decimal vs: float? , mais les réponses ne sont pas assez claires pour que je sois certain:
J'ai vu de nombreux threads où les gens recommandent de ne pas utiliser float et d'utiliser toujours décimal. J'ai également vu des suggestions de certaines personnes d'utiliser le flotteur uniquement pour des applications scientifiques.
Voici quelques exemples:
- Géolocalisation / latitude / longitude:
-45.756688,120.5777777, ... - Ratio / pourcentage:
0.9,1.25,1.333,1.4143, ...
J'ai utilisé :decimaldans le passé, mais j'ai trouvé que traiter des BigDecimalobjets dans Ruby était inutilement gênant par rapport à un flotteur. Je sais également que je peux utiliser :integerpour représenter l'argent / cents, par exemple, mais cela ne convient pas tout à fait à d'autres cas, par exemple lorsque des quantités dont la précision peut changer avec le temps.
- Quels sont les avantages / inconvénients de l'utilisation de chacun?
- Quelles seraient les bonnes règles de base pour savoir quel type utiliser?