首页 > 解决方案 > 将 number_to_currency 与用户参数一起使用

问题描述

我的代码

<td><%= number_to_currency(x['quote']['USD']['price'], :unit => '$', :separator =>'.', :delimiter => ',', precision: 4)  %><br/></td>

当我这样使用它时,没关系,提取信息并放好。但是当我尝试与另一个变量相乘时,它向我发送一个错误“ActiveSupport::SafeBuffer 不能被强制转换为 BigDecimal”,所以我想把它变成一个 @,但我不知道该怎么做

标签: ruby-on-railsruby

解决方案


你可以认为number_to_currency返回一个special string(例如“$ 123.0000”),它不能number直接相乘。

您可以先相乘,然后使用number_to_currency格式化结果:

<% result = x['quote']['USD']['price'] * crypto.cost_per %>
<td><%= number_to_currency(result, unit: '$', separator: '.', delimiter: ',', precision: 4) %></td>

推荐阅读