読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

Floatを小数点以下3桁まで表示したい

組み込み関数のsprintfを使うと簡単に実現可能です。具体的には次のようにします。

f = 108.233533
puts sprintf( "%.3f", f )

実行結果です

108.234

"%.3f"の部分が出力フォーマットを指定している部分で、以下の形式で書きます。(Rubyリファレンスマニュアル - sprintfフォーマットより)

%[引数指定$][フラグ][幅][.精度]指示子

上の例の"%.3f"では以下の指定を行っています。

  • 指示子 = "f" .. 引数を小数として出力する
  • 精度 = "3" .. 小数部の桁数を指定(指示子が"f"の場合)

あと、幅を指定すると出力する文字数を指定できます。幅が足りない場合、デフォルトでは空白で埋められます。コンソールに出力するときの桁あわせに便利かと。

f  = 108.233333
f2 = 15.233333
puts sprintf( "%10.3f", f )
puts sprintf( "%10.3f", f2 )

実行結果です。

   108.233
    15.233