處理貨幣/貨幣的最佳方法是什么?我正在研究一個(gè)非?;镜馁?gòu)物車系統(tǒng)。我有一個(gè)items具有price類型列的表integer。我無(wú)法在包括歐元和美分在內(nèi)的價(jià)格中顯示價(jià)格值。就Rails框架中的處理貨幣而言,我是否遺漏了一些明顯的東西?
3 回答

慕桂英546537
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可能希望DECIMAL
在數(shù)據(jù)庫(kù)中使用某種類型。在遷移中,執(zhí)行以下操作:
# precision is the total number of digits# scale is the number of digits to the right of the decimal pointadd_column :items, :price, :decimal, :precision => 8, :scale => 2
在Rails中,:decimal
類型返回為BigDecimal
,這對(duì)于價(jià)格計(jì)算很有用。
如果你堅(jiān)持使用整數(shù),你將不得不手動(dòng)轉(zhuǎn)換到BigDecimal
任何地方,這可能只是一個(gè)痛苦。
正如mcl所指出的,要打印價(jià)格,請(qǐng)使用:
number_to_currency(price, :unit => "€")#=> €1,234.01

慕絲7291255
TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
Ruby&Rails的簡(jiǎn)單代碼
<%= number_to_currency(1234567890.50) %>OUT PUT => $1,234,567,890.50
- 3 回答
- 0 關(guān)注
- 854 瀏覽
添加回答
舉報(bào)
0/150
提交
取消