2014-01-08 64 views
3

在我的應用程序中,我有幾個價格字段。在model他們是float類型,當我想要顯示它們時,我使用NumberHelper提供的number_to_currency方法,這工作正常。但是,表單中的輸入是一個問題。在荷蘭,十進制數的分隔符是一個逗號,但有些人使用一個點。目前,只有一個點的十進制數才能正確保存。當使用小數時,只有全部數量被保存。Price fields and cents separator

所以我可能需要一個before_save sanitizer,用點代替逗號。但我需要這個爲幾個模型。做這個的最好方式是什麼?

回答

0

作爲api文檔describes方法number_to_currency有可能使用的選項:separator

number_to_currency("1234567890,50", unit: "£", separator: ",", delimiter: "") 

也許你可以設置語言環境並獲得相同的結果。

0

我在德國也有這個問題。

我一直在使用delocalize寶石進行「逆本土化」,但仍存在一些問題和Rails 4(它的工作原理,雖然)

PS:不要使用浮點類型代表貨幣,你會得到四捨五入的問題。改爲使用BigDecimal