gpt4 book ai didi

ruby-on-rails - 以千为单位的 Rails 数量被截断

转载 作者:太空宇宙 更新时间:2023-11-03 17:43:48 24 4
gpt4 key购买 nike

在我的 Rails 5 应用程序中,我阅读了产品提要。在 JSON 中,当价格超过 $1,000 时,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

最佳答案

你没有做错任何事。小数不适用于逗号分隔符。我不确定是否有解决问题的好方法。但作为一种选择,您可以定义一个虚拟属性:

def reg_price=(reg_price)
self[:reg_price] = reg_price.gsub(',', '')
end

关于ruby-on-rails - 以千为单位的 Rails 数量被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45949749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com