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