Rails - 条纹 "Amount" 格式

Rails - Stripe "Amount" formatting

我创建了一个 Stripe 客户并将他们关联到一个计划。在个人资料页面上,我想向他们展示计划的详细信息。但是在 Stripe API 中,我的 50.00 美元价格呈现为 5000,当我尝试

`Price: <%= number_to_currency( current_user.amount) %>'

我得到 5,000 美元。

有没有办法让这个渲染 50.00 美元而不是 5,000 美元?

这与 number_to_currency 辅助方法无关。我的意思是说 number_to_currency 方法不会更改任何值(是的,直到您指定精度)。您可以找到文档 here。实际上 current_user.amount 的值是 5,000 我假设 amount 是字符串类型

如果你做这样的事情,你将能够打印 50.00 美元而不是 5,000 美元的唯一方法是

Price: <%= number_to_currency( current_user.amount / 100) %> 如果数量是数字

Price: <%= number_to_currency( current_user.amount.gsub(',','').to_f / 100) %> 如果数量是字符串