ruby-on-rails - 获取 Stripe 的美分价格

标签 ruby-on-rails ruby stripe-payments

我必须将一些价格以美分发送到 Stripe以便对卡进行收费。在我的应用程序中,total_price 值是小数,即美元和美分。显然,我可以通过乘以 100 将其转换为美分:

total_price * 100

但结果仍然是小数,Stripe 给我一个“无效金额”错误。我知道舍入 float 可能存在问题。我想知道在 Rails 中将 total_price 转换为整数的最安全方法。我看到了一些关于货币 gem 的引用资料,但在这种情况下是否有必要?

最佳答案

Ruby 有几种可用于 float 的方法,具体取决于您的需要:

  • (cart.total_price * 100).to_i(舍弃所有小数)
  • (cart.total_price * 100).round # .round(numofdecimals)
  • (cart.total_price * 100).floor # 1.3 => 1
  • (cart.total_price * 100).ceil # 1.3 => 2
  • (cart.total_price * 100).to_r #to rationals,例如2.5 => 5/2

希望对您有所帮助。

关于ruby-on-rails - 获取 Stripe 的美分价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12546643/

相关文章:

arrays - 将数组拆分为哈希

ruby-on-rails - 通过 Rails 访问存储在 Amazon S3 中的数据

ruby - 如何移动文件指针

java - Spring Boot 中的 Stripe 示例 Java 服务器?不兼容的类型 : Optional<StripeObject> cannot be converted to Source

android - Paypal 对话框向我显示类似 "Android_pay_button PayPal"的按钮如何解决此错误?

php - Stripe Webhook 错误 500

ruby-on-rails - rails : Cucumber not cleaning DB

mysql - Rails 事件记录带有条件排序。 mysql

ruby-on-rails - 带有 Wkhtmltopdf 的 PDFkit 在 Mac 上挂起

ruby-on-rails - rails 小号 : undefined method `symbolize_keys'