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
:decimal
ou: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é :decimal
dans le passé, mais j'ai trouvé que traiter des BigDecimal
objets dans Ruby était inutilement gênant par rapport à un flotteur. Je sais également que je peux utiliser :integer
pour 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?