作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在将价格发送到表单/ strip 之前去掉价格中的小数点。我可以使用其他方法来执行此操作吗?
在我的product.rb模型中,我有:
def monetize_amount
self.price.to_s.delete(".").to_f
end
在费用 Controller 中我有:
def create
@product = Product.find(params[:id])
# Amount in cents
**@amount = @product.monetize_amount**
customer = Stripe::Customer.create(
:email => '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="701508111d001c15300304021900155e131f1d" rel="noreferrer noopener nofollow">[email protected]</a>',
:card => params[:stripeToken]
)
charge = Stripe::Charge.create(
:customer => customer.id,
:amount => @amount,
:description => 'Rails Stripe customer',
:currency => 'usd'
)
rescue Stripe::CardError => e
flash[:error] = e.message
redirect_to charges_path
end
最佳答案
就像argentum47所说的那样。将其转换为以分为单位的整数值。
class Product < AR::Base
def price_in_cents
(price * 100).to_i
end
end
然后你可以这样做:
charge = Stripe::Charge.create(
:customer => customer.id,
:amount => @product.price_in_cents,
#…
关于ruby-on-rails - 如何从 Rails 中的 float 中去除小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27518358/
我是一名优秀的程序员,十分优秀!