会计金额使用整数分数还是十进制?

时间:2013-06-04 23:31:43

标签: ruby-on-rails ruby-on-rails-3 database-design currency accounting

我正在使用Postgres和ActiveRecord的rails应用程序跟踪付款和交易费用(基于百分比)。

目前我正在使用BigDecimal(以及ActiveRecord中的十进制列)来跟踪这些事务的值,但处理舍入一直令人沮丧。 (例如8.05 - 1.0 ==> 7.050000000000001

继续使用decimal列作为美元金额是否有意义?或者我应该切换到以integer价值分数存储所有内容,这样我就不需要处理舍入问题了。

一个重要的注意事项是,我的交易(截至目前)都不值得分数。

每种方法的优点和缺点是什么?

1 个答案:

答案 0 :(得分:3)

在Rails中处理货币有很多可能的策略,

例如What is the best method of handling currency/money?