在我的Rails 5應用程序中,我閱讀了產品的訂閱源。在JSON中,當價格超過1000美元時,JSON有一個逗號,比如1,000。成千上萬的滑軌數量被截斷
我的代碼似乎是截斷它,所以它存儲爲1而不是1,000。
所有其他字段都正確存儲。有人可以告訴我我做錯了什麼嗎?
在這個例子中,reg_price保存爲2,而不是2590
JSON試樣(reg_price字段):
[
{
"reg_price": "2,590"
}
]
架構
create_table "products", force: :cascade do |t|
t.decimal "reg_price", precision: 10, scale: 2
end
模型
response = open_url(url_string).to_s
products = JSON.parse(response)
products.each do |product|
product = Product.new(
reg_price: item['reg_price']
)
product.save
end
由於有時價格表示爲'2,999',可能*表示2999和'2,99',如果使用歐洲表示法則表示2.99。 – tadman
Imo,'reg_price.delete(',')'更直接,讀得更好。 –