要建立一個欄位用來處理小數,我們可以用decimal這個type來儲存,要注意的是decimal有兩個option要設定,一個是:precision
用來決定數字要支援多大的位數(括含小數位數),另一個是:scale
用來決定數字的小數位數最多可以有幾位。以下面的例子而言,amount可以儲存的數值範圍就是介於-999.99到999.99之間。
t.decimal :amount, precision: 5, scale: 2
如果你用的是mysql,在使用decimal而不設定這個兩個值,它預設是precision: 10, scale: 0
,也就是沒有小數(囧)。