Ruby BigDecimal乘法

Via*_*dov 2 ruby ruby-on-rails decimal bigdecimal

我遇到了Bigdecimal乘法问题.我有一栏:

t.decimal "average_price", precision: 8, scale: 2
Run Code Online (Sandbox Code Playgroud)

我的样本average_price看起来像"3.59280368".当我尝试使用此值进行一些计算时,我得到:

@itam.average_price * 1000000 = 3590000
Run Code Online (Sandbox Code Playgroud)

为什么不3592803呢?

小智 5

根据rails api文档:

精度是有效位的总数,而标度是小数点后可以存储的位数.

所以,在数据库中:3.59280368将存储为3.59.