2013-07-05 36 views
2

嘿,我正在使用Ruby on Rails框架,并且我有一个十进制的价格变量。当然价值像39.99美元罚款,但当价格是39.90美元我的应用程序显示价格为39.9美元我怎么能改变这一点。在Ruby中将十进制转换为价格格式

我的观点

%B价格

= @ product.price

回答

4

导轨包括number_to_currency(@product.price)助手。更简单,更容易记住。

1

这里的标准答案是使用sprintf

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

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

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" 
相关问题