変数 $temp に 3.046789 のような浮動小数点数値が格納されています。この数値を 2 桁の精度で丸めて、必要な結果を 3.05 にするにはどうすればよいでしょうか。私が持っているスクリプトは csh スクリプトです。
答え1
コマンドを使うことができますprintf
C 関数と同じように、さまざまな方法で数値をフォーマットしますprintf()
。
使用するシェルから独立させるには、以下を実行します。/usr/bin/printf
$ LC_ALL=C /usr/bin/printf '%.2f\n' 3.046789
3.05
フォーマットの構文は、ライブラリ関数のマニュアル ページで説明されています。man 3 printf
。
での変数の処理についてはよくわかりませんcsh
。
さらに、printf
bash と同様に、同じことを実行するシェル組み込みコマンドとしても使用できます。