在Ruby中将小数转换为价格格式

时间:2013-07-05 01:05:56

标签: ruby-on-rails ruby

嘿我在rails框架上使用ruby,我有一个十进制的价格变量。当然价值39.99美元的价格是好的,但当价格为39.90美元时我的应用程序显示价格为39.9美元我怎么能改变它。

我的观点

  

%b价格

     

= @ product.price

3 个答案:

答案 0 :(得分:5)

rails包含number_to_currency(@product.price)帮助程序。更简单,更容易记住。

答案 1 :(得分:2)

此处的标准答案是使用sprintf

sprintf("$%2.2f", @product.price)

这将使用前导美元符号格式化您的号码,然后将数字格式化为小数点后两位。

答案 2 :(得分:1)

如果需要,可以为此编写自定义帮助方法。

def num_to_currency price
  "$#{price.to_i}."+"#{(price % 1.0)}"[2..3]
end

1.9.3 (main):0 > num_to_currency 6.90
=> "$6.90"