【发布时间】:2023-03-28 06:40:01
【问题描述】:
如何将用户编号输入从 11.5 转换为 11.5?
我尝试了以下回调:
before_validation :comma_to_delimiter
def comma_to_delimiter
self.price.to_s.gsub(',', '.').to_f
end
但这不起作用。我希望用户能够输入任何他想要的分隔符 - 目前,当用户使用逗号而不是点时,应用程序会引发错误。
【问题讨论】:
-
你能解释一下 self.price 是什么类型的值吗?
-
您想更改它以在 Rails 应用程序中显示,对吗?
-
不,我不在乎它是如何显示的。我已经通过语言环境接受了这一点。价格是一个浮点值,应该以浮点数形式存储,点为分隔符。问题是在德国,人们输入逗号而不是点作为分隔符。因此,即使德国人输入“5,5”,它仍应存储为“5.5”。如果有人一开始就正确输入了它,例如“5.5”,则无需更改任何内容。知道怎么做吗?
标签: ruby-on-rails validation delimiter