71

float 変数を含む文字列を固定小数点数でフォーマットしたいと思います。この種のフォーマット構文でそれを行いたいと思います:

amount = Math::PI
puts "Current amount: #{amount}"

を入手したいと思いCurrent amount: 3.14ます。

私はそれができることを知っています

amount = Math::PI
puts "Current amount %.2f" % [amount]

しかし、途中でそれを行うことが可能かどうか尋ねてい#{}ます。

4

4 に答える 4

74

使用できます"#{'%.2f' % var}"

irb(main):048:0> num = 3.1415
=> 3.1415
irb(main):049:0> "Pi is: #{'%.2f' % num}"
=> "Pi is: 3.14"
于 2013-12-23T08:34:26.183 に答える
54

使用round:

"Current amount: #{amount.round(2)}"
于 2012-09-12T13:44:42.623 に答える
35

あなたはこれを行うことができますが、私はString#%バージョンを好みます:

 puts "Current amount: #{format("%.2f", amount)}"

@Bjoernsen が指摘したようにround、最も簡単なアプローチであり、Rails だけでなく標準の Ruby (1.9) でも機能します。

http://www.ruby-doc.org/core-1.9.3/Float.html#method-i-round

于 2012-09-12T13:51:29.387 に答える
6

はい、可能です:

puts "Current amount: #{sprintf('%.2f', amount)}"
于 2012-09-12T13:53:27.660 に答える