首页 > 解决方案 > Rails5:如何从 API 数据格式化货币值

问题描述

我有一个 Ruby on Rails 应用程序,它成功地从 API 请求数据,但希望它采用标准格式 4,992.02 而不是 4,992.0293

<div class="card-body">
  <h1 class="card-title pricing-card-title"><i class="fa fa-gbp" aria-hidden="true"></i><%= @bitcoin ["bpi"]["GBP"]["rate"] %></h1>
</div>

所以 [Rate] 是数字的来源。使用标准 number_to_currency 方法

<%= @bitcoin ["bpi"]["GBP"] number_to_currency(["rate"]) %> 

但得到错误

更新错误 <%= @bitcoin ["bpi"]["GBP"] number_to_currency(["rate"]) %>

/Users/neilpatel/Desktop/2018/rails/bit/app/views/home/index.html.erb:13: syntax error, unexpected tIDENTIFIER, expecting ')' ...bpi"]["GBP"] number_to_currency(["rate"]) );@output_buffer.s... ... ^

标签: ruby-on-railsrubyruby-on-rails-5

解决方案


所以我建议你这个解决方案来满足你的要求:

控制器中的这一行:

@split_result = '4,992.0293'.split(',')
@result = @split_result[0] + @split_result[1].to_f.round(2).to_s

这条线进入你的视野:

<%=  number_with_delimiter(@result) %>

这是您输入“4,992.0293”的结果,它被四舍五入到小数点后 2 位,因为 0293 如果您减少到 2 个数字,则更正值为 03。

在此处输入图像描述


推荐阅读