47

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

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

注意:我读过这篇文章

4

1 回答 1

57

这在一定程度上取决于您计划如何使用该值,但通常 adecimal将是存储百分比的不错选择。请注意,您可以将其存储为百分比值 (10.01) 或小数 (.1001)。所以这会影响列的实际大小和精度。

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

正如@ismaelga 在评论中指出的那样,小数对于准确性来说是一个不错的选择(在处理货币计算时尤其好)。

于 2012-05-18T17:20:56.477 回答