Ruby on rails Rails-视图显示奇怪的数字

Ruby on rails Rails-视图显示奇怪的数字,ruby-on-rails,Ruby On Rails,我认为有以下代码: <% @portfolio.currencies.each do |cr| %> <tr> <td class="full_name"><%= cr.full_name %></td> <td class="weight"><%= number_to_percentage(@portfol

我认为有以下代码:

    <% @portfolio.currencies.each do |cr| %>
                <tr>
                  <td class="full_name"><%= cr.full_name %></td>
                  <td class="weight"><%= number_to_percentage(@portfolio.weights[cr.full_name] * 100) %></td>
                </tr>
   <% end %>

为什么会发生这种情况?我如何解决这个问题?

好的,幸运的是我已经解决了您的问题

在你的号码里_percentage@portfolio.weights[cr.full_name]*100方法调用,@portfolio.weights[cr.full_name]返回的是字符串0.2,而不是float

在ruby中,当您执行“hello”*3时,它返回hellohellohello。 所以在你的例子中,它重复了0.2100次

修复方法是,使用to_f将字符串转换为浮点:


我想这是循环。请添加更多相关代码。比如你在设定重量的值。你可以试着做smth,比如@arthur.karganyan:这会如何改变一个应该输出的值被输出无数次的事实?要么权重是一个包含多个值副本的字符串,要么它是一个循环中输出的一组0.2。在帖子中添加数字到百分比操作。
0.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.20.2
number_to_percentage(@portfolio.weights[cr.full_name].to_f * 100)