我正在开发一个使用Postgres和ActiveRecord的Rails应用程序,用于跟踪支付和交易费用(这些费用是基于百分比计算的)。
目前,我正在使用BigDecimal(和ActiveRecord中的decimal列)来跟踪这些交易的价值,但处理舍入问题一直令人沮丧。(例如,
是否继续使用
重要说明:截至目前,我的任何交易都没有小数点后几位。
每种方法各有利弊,您需要根据自己的需求来选择。
目前,我正在使用BigDecimal(和ActiveRecord中的decimal列)来跟踪这些交易的价值,但处理舍入问题一直令人沮丧。(例如,
8.05 - 1.0 ==> 7.050000000000001
)是否继续使用
decimal
列来存储美元金额?还是应该改为将所有内容存储在以integer
方式表示的分中,这样就不需要处理舍入问题。重要说明:截至目前,我的任何交易都没有小数点后几位。
每种方法各有利弊,您需要根据自己的需求来选择。