如何存储百分比值?

Bac*_*cko 35 ruby mysql database ruby-on-rails ruby-on-rails-3

我正在使用Rails 3.2.2,我想在我的数据库表列中存储处理一个百分比值.你有什么指教一下(例如,什么类型的- ,,:integer ,... -列的我应该设置)?是否有关于存储百分比值的必须/应该知道的警报?:float:decimal

精度应为2(1.99%,50.01%,...).

注意:我读过这篇文章.

Mar*_*ins 44

这取决于您计划如何使用该值,但通常是decimal存储百分比的好选择.请注意,您可以将其存储为百分比值(10.01)或小数(.1001).这样会影响色谱柱的实际尺寸和精度.

以百分比或分数存储的选择取决于使用需求,但我怀疑在大多数情况下将其存储为分数(例如,.10代表10%)会更简单,因为它可以直接在大多数情况下使用计算更容易(不需要记住除以100).

正如@ismaelga在评论中指出的那样,小数是准确性的一个很好的选择(在处理货币计算时特别好).

  • 同意,小数很好,因为他有特别的精确度。 (2认同)
  • 好的,我发现:http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html (2认同)
  • @nicco:请注意,这里的小数是指精确的数字表示。它与 float 不同,后者是一种通常指 IEEE 754 标准的类型。使用谷歌查找差异。并且不要使用浮点数来表示货币价值。 (2认同)